AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Text von Datei1 in Datei 2 anzeigen lassen
Thema durchsuchen
Ansicht
Themen-Optionen

Text von Datei1 in Datei 2 anzeigen lassen

Ein Thema von SyntaxXx · begonnen am 24. Apr 2010 · letzter Beitrag vom 24. Apr 2010
Antwort Antwort
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#1

Text von Datei1 in Datei 2 anzeigen lassen

  Alt 24. Apr 2010, 09:44
Soa, ich hatte schonmal einen thread aufgemacht, indem es um wa sähnliches ging, doch jetzt möchte ich ganz anders anfangen.

Also ich habe folgendes vor.

Ich habe bsp1.exe und bsp2.exe.

Jetzt möchte ich in bsp1.exe einen Text eingeben.
Und wenn ich dann auf einen Button klicke wird dieser Text an bsp2.exe gesendet.
Und wenn ich dann bsp2.exe öffne, steht in nem Label oder in ner msgbox dann der Text, dne ich in bsp1.exe eingegeben habe.

Jetzt ist die Frage, wie an das anstelle?

Als hilfestellung habe ich gesagt bekommen, ich sollte

FindResource
LoadResource
LockResource
SizeOfResource

benutzen.

Doch leider finde ich keinerlei Anwendungsbeispiele, wie ich das in etwa anwende.
Es würde mich sehr freuen, wenn man mir das erklären könnte.

Ich strenge mich bestmöglich an, da ich nicht einfach nur C&P benutzen möchte, sondern verstehen will, wie das funktioniert.
Denn ich möchte Programmieren lernen und nicht kopieren ^^

Ich habe schon ein paar Programme gecodet, aber das ging mehr in den Bereich Webanwendung.
Sprich Formulare an ne Seite senden und auslesen etc.

Aber sowas wie jetzt habe ich noch nie gemacht und interessert mich doch sehr.

Ich würde mich wirklich sehr über eure hilfe freuen.

Ich selber benutze Delphi 2009.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#2

Re: Text von Datei1 in Datei 2 anzeigen lassen

  Alt 24. Apr 2010, 09:52
Zitat von SyntaxXx:
Jetzt möchte ich in bsp1.exe einen Text eingeben.
Und wenn ich dann auf einen Button klicke wird dieser Text an bsp2.exe gesendet.
Und wenn ich dann bsp2.exe öffne, steht in nem Label oder in ner msgbox dann der Text, dne ich in bsp1.exe eingegeben habe.
Wie jetzt?
Soll die bsp2.exe gestartet und einfach nur der Text dort angezeigt werden?

Oder soll der Text wirklich erst innerhalb der bsp2.exe gespeichert und nach deren Start dort verfügbar sein?


Bei Ersterem:
Mit MSDN-Library durchsuchenCreateProcess oder MSDN-Library durchsuchenShellExecuteEx die bsp2.exe starten, da bekommst du auch ein Handle der Anwendung, an dieses Handle schickst du deine Nachricht (MSDN-Library durchsuchenSendMessage), welche du im MessageHandler der anderen Anwendung empfängst und dort anzeigst.

Statt SendMessage kannst du auch jede andere Art von IPC (Inter-Process-Communication) verwenden.


Oder ganz einfach:
Gib der 2. Anwendung deinen Text als Parameter mit. (kann ganz einfach via Delphi-Referenz durchsuchenParamStr ausgelesen werden)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#3

Re: Text von Datei1 in Datei 2 anzeigen lassen

  Alt 24. Apr 2010, 10:08
Also der Text soll schon in der 2ten Datei gespeichert werden.

Wenn ich die Datei jetzt zu nem freund schicke, und ich vorher einen text eingetragen habe von Datei 1 aus, dann soll mein freund den gleichen text auch noch lesen können.

Also ja, der text muss in Datei2 gespeichert werden.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#4

Re: Text von Datei1 in Datei 2 anzeigen lassen

  Alt 24. Apr 2010, 10:13
Tja, dann kommst du um MSDN-Library durchsuchenUpdateResource/Hier im Forum suchenUpdateResource nicht drumrum.

Und warum gibst du den Text nicht einfach so mit? (z.B. in einer INI)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#5

Re: Text von Datei1 in Datei 2 anzeigen lassen

  Alt 24. Apr 2010, 11:54
Ok ich habe mich jetzt einw enig eingearbeitet doch hänge jetzt an einer stelle:

Ich möchte ja jetzt einen String in die Ressource eintragen.

Jetzt habe ichd ieses Beispiel gefunden.
Ist schon was älter.

Delphi-Quellcode:
HRSRC hResLoad; // handle to loaded resource
HANDLE hExe; // handle to existing .EXE file
HRSRC hRes; // handle/ptr. to res. info. in hExe
HANDLE hUpdateRes; // update resource handle
char *lpResLock; // pointer to resource data
BOOL result;
// Load the .EXE file that contains the dialog box you want to copy.
hExe = LoadLibrary("hand.exe");
if (hExe == NULL)
{
    ErrorHandler("Could not load exe.");
}
 
 
// Locate the dialog box resource in the .EXE file.
hRes = FindResource(hExe, "AboutBox", RT_DIALOG);
if (hRes == NULL)
{
    ErrorHandler("Could not locate dialog box.");
}
 
 
// Load the dialog box into global memory.
hResLoad = LoadResource(hExe, hRes);
if (hResLoad == NULL)
{
    ErrorHandler("Could not load dialog box.");
}
 
 
// Lock the dialog box into global memory.
lpResLock = LockResource(hResLoad);
if (lpResLock == NULL)
{
    ErrorHandler("Could not lock dialog box.");
}
 
 
// Open the file to which you want to add the dialog box resource.
hUpdateRes = BeginUpdateResource("foot.exe", FALSE);
if (hUpdateRes == NULL)
{
    ErrorHandler("Could not open file for writing.");
}
 
 
// Add the dialog box resource to the update list.
result = UpdateResource(hUpdateRes, // update resource handle
     RT_DIALOG, // change dialog box resource
     "AboutBox", // dialog box name
     MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), // neutral language
     lpResLock, // ptr to resource info
     SizeofResource(hExe, hRes)); // size of resource info.
if (result == FALSE)
{
    ErrorHandler("Could not add resource.");
}
 
 
// Write changes to FOOT.EXE and then close it.
if (!EndUpdateResource(hUpdateRes, FALSE))
{
    ErrorHandler("Could not write changes to file.");
}
 
 
// Clean up.
if (!FreeLibrary(hExe))
{
    ErrorHandler("Could not free executable.");
Aus folgendem Code schließe ich, das diese .exe als Ressource eingetrage wird:

hExe = LoadLibrary("hand.exe"); Ich möchte aber ja einen String eintragen.


Dann ahbe ich mal was gesucht und bin hierauf gestoßen:
http://www.delphipraxis.net/internal...ect.php?p=2269
Aber das funktioniert auch nicht wirklich.

Geht das nicht leichter?
  Mit Zitat antworten Zitat
fatalerror
(Gast)

n/a Beiträge
 
#6

Re: Text von Datei1 in Datei 2 anzeigen lassen

  Alt 24. Apr 2010, 12:09
Ich finde Deine Programmidee gefährlich:

Du weisst schon, dass das was Du da programmieren möchtest sehr grosse Ähnlichkeit mit einem Virus hat. Ich denke, jeder Virenscanner wird aufmucken, wenn da ein ausführbares Programm einfach geändert wird.

Ich empfehle dir den Umweg über eine externe Datei, in welcher du den Text aus Programm 1 abspeicherst (kann ja auch ein Temp-Datei sein, die anschiessend wieder gelöscht wird) und anschliessend in Programm 2 geöffnet wird.
  Mit Zitat antworten Zitat
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#7

Re: Text von Datei1 in Datei 2 anzeigen lassen

  Alt 24. Apr 2010, 12:13
Ähnlichkeit mit einem Virus ?
Sry hab aber keinen Plan wie ein Virus aufgebaut ist.

Das soll auf keinen Fall irgendwas mit einem Virus zu tun haben.
Mich interessiert nur halt das ganze Prinzip und würde es gerne hin bekommen.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:07 Uhr.
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