Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Notepad fernsteuern (https://www.delphipraxis.net/102576-notepad-fernsteuern.html)

gabneo 31. Okt 2007 10:03


Notepad fernsteuern
 
Hallo DP-Gemeinde!

Da ich leider bisher noch nicht viel (= gar nix) darüber gefunden habe, frage ich mal. Hat jemand von euch eine Idee zum fernsteuern von Notepad?
Meine Ziele sind folgende:

1. Notepad in der mitte des Desktops öffnen.
2. Notepad mit einer bestimmten Größe öffnen.
3. Text in Notepad einfügen, ohne das man das einfügen sieht (evtl. mache ich das mit WM_SETREDRAW, paste den text und lass Windows das Fenster anschließend repainten)
4. Bei einem nicht gespeichertem Text beim Schließen nicht die "möchten sie wirklich schließen" Message bringen.

Zu punkt 3 muss ich noch sagen das es mir in Wahrheit lieber wäre, wenn ich den text als parameter irgendwie übergeben könnte und dieser dann schon im gestarteten Notepad angezeigt wird...das wäre die sauberste lösung für mich.
Falls jemand dafür das ein oder andere Stichwort hat, würde ich mich sehr freuen :wink:

greez
gabneo

[Edit]
Eine Datei als Parameter mit zu übergeben ist kein Problem, dass weiß ich, doch ich möchte keine Datei auf der Festplatte erzeugen, um deren Löschung ich mich noch kümmern muss, sondern der Anwender soll entscheiden ob er es Drucken,Speichern oder schließen will.
[/Edit]

Bastler 31. Okt 2007 10:11

Re: Notepad fernsteuern
 
Sorry, wenn ich nicht genau auf deine Frage antworten kann, aber ich habe da ne andere Frage: :?

Wozu das ganze? einfache TXT-Datein, die du mit Notepad ja erstellst kannst du auch mit Delphi machen ohne Probleme...
Also ich möchte die Vermutung äußern, dass das arbeiten mit den Parameter von Notepad (falls es geht) umständlicher ist, als ne StringList in der eigenen Anwendung...

[edit] OK, aber auch das geht ganz gut mit Delphi... also Drucken, Speichern oder Verwerfen... entsprechende Dialoge gibt's sogar fertig.[/edit]

gabneo 31. Okt 2007 10:17

Re: Notepad fernsteuern
 
Also, das Problem dabei ist, das die ganze Anwendung auf einer bestimmten Design-grundlage basiert die ich mir Zerstöre wenn ich ein komplett neues bisher nicht vorhandenes element hinzufüge. Des Weiteren, da es sich um eine Art Informationsexport handelt, kann ich sicher alles händisch machen, doch muss ich mich dann ins Drucken usw. stürzen. Deswegen ist es für mich einfacher allein schon deshalb, weil ich keine Fehlersuche mehr betreiben muss...Notepad funktioniert schon, den eigenen Code muss ich dann erstmal dahinbringen...und es ist auch interessant weil ich dies schon länger wissen will :mrgreen:

greez
gabneo

tr909 31. Okt 2007 10:27

Re: Notepad fernsteuern
 
Wie wäre es denn ne temporäre Textdatei mit dem Inhalt zu erstellen, und die dann mit Notepad öffnen?

Gruß
tr909

Phoenix 31. Okt 2007 10:28

Re: Notepad fernsteuern
 
Will er doch nicht (siehe sein erstes Posting).

shmia 31. Okt 2007 10:40

Re: Notepad fernsteuern
 
Zitat:

Zitat von gabneo
Hat jemand von euch eine Idee zum fernsteuern von Notepad?

Notepad wurde nicht designed, um Ferngesteuert zu werden.
Es gibt keine Automatisierungschnittstelle.
Alle Ansätze über Window Handles sind programmiertechnisch gesehen "Schrott" und spätestens
unter Windows Vista zum scheitern verurteilt.
Zudem ist Notepad (verglichen mit Notepad++ und anderen Clones) eine sehr funktionsschwache Anwendung.

MS Word hat eine Automatiserungsschnittstelle und kann von Aussen über COM/DCOM gesteuert werden.
Allerdings ist MS Word nicht auf jedem Rechner verfügbar.

Das Problem ist nun, dass du dich schon auf einen bestimmten Lösungsweg (Notepad) gedanklich eingeschossen hast.
Du solltest nun mindestens 2 Schritte zurückgehen und überlegen (und uns mitteilen), was dein Programm eigentlich können soll. (Stichwort: Lastenheft)

gabneo 31. Okt 2007 11:00

Re: Notepad fernsteuern
 
Hi shmia,
danke für die Antwort. Nun, ich muss zugeben das ich es gerade schon per Handle´s probiert habe und es funktioniert bei mir (Vista 64bit ultimate), doch ich habe die UAC und den Defender etc. abgeschaltet, müsste es also noch einmal mit einem "Normalo" vista testen, ob die Handle´s blockiert werden.
Du hast es genau erfasst, es geht um die Verfügbarkeit des Notepads, es ist spätestens seit Win2000 auf jedem Windows Rechner vorhanden.
Nun mir geht es darum, ich habe ein Programm das Termingesteuert Jobs ausführt. Dieses Läuft absolut Fehlerfrei (stolzbin) und wird produktiv eingesetzt. Jetzt kam allerdings ein Problem auf dessen Ursache nicht in meiner Macht liegt, weswegen ich dennoch darauf reagieren will. Dazu benötige ich eine "Reporting"-Schnittstelle über die ein Error-log bei bedarf ausgegeben werden kann.
Lange Rede kurzer Sinn, dass Einfachste wäre, ohne mein bisheriges Konzept neu aufbauen oder groß verändern zu müssen, ein Zugriff auf Notepad o.ä. mit dem die Error-logs anzeigt und bei Bedarf Exportiert/gedruckt werden können.

Eine Alternative dazu wäre evtl. Wordpad? Da müßte man prüfen ob es in allen Windows-versionen enthalten ist?!
Klar würde ich es mit MSWord und OLE machen ist mit 4-5 Zeilen Code erledigt, doch möchte ich nicht eine Office Lizenz voraussetzen müssen.

greez
gabneo

TonyR 31. Okt 2007 11:10

Re: Notepad fernsteuern
 
Überleg dir nochmal, ob du wirklich die wesentlich schwierigerere Variante wählen möchtest :wink:
Es wäre so einfach ein Memo zu nehmen, dieses auf ein Extra Form zu pappen und zwei, drei Buttons zum Drucken bzw. abspeichern draufzuschmeißen.

Ergebnis ist ja absolut dasselbe wie der Windows-editor.
Wie man ein Memo ausdruckt steht hier überall in der DP und ist kein Problem (mit Print-Dialogen kann man dann auch noch Einstellungen tätigen).

Hansa 31. Okt 2007 12:13

Re: Notepad fernsteuern
 
Zitat:

Zitat von gabneo
.. Dazu benötige ich eine "Reporting"-Schnittstelle über die ein Error-log bei bedarf ausgegeben werden kann.
Lange Rede kurzer Sinn, dass

Haha, ein editierbares Error-Logbuch ? :lol: Ob Word oder Notepad, dir ist aber bewusst, dass die User ihre Fehler nicht gerne zugeben ? Du brauchst zumindest ein Read-Only Verfahren. Auch der Dateiname sollte nicht öffentlich bekanntgegeben werden.

guidok 31. Okt 2007 12:23

Re: Notepad fernsteuern
 
Ich weiß nicht... Es sollte doch kein Problem sein im Anwendungsverzeichnis eine Datei errorlog.txt zu speichern. Dazu noch eine Meldung für den Benutzer, das diese Datei erzeugt wurde, evtl. mit einer Frage kombiniert, ob sie sofort geöffnet werden soll.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:41 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz