Zeile aus Memo lesen und dann als Variable einfügen

smaresh

Mitglied
Hallo erst mal an alle!

Ich hab ein Shortcut-Programm geschrieben mitdem ich meine wichtigsten Programme öffne. Hierzu benutzte ich diese Funktion:

ShellExecute(windows.PROCESS_CREATE_THREAD, 'open', 'C:\blabla\bla.exe', nil, nil, SW_SHOWDEFAULT);

Ich habe eine Memo die beim start eine .txt-Datei liest und anzeigt. In der .txt befinden sich Pfade für Programme (also c:\programme\delphi\delphi.exe in der ersten Zeile, usw... ).

Mein Ansatz besteht darin in der ShellExecute-Funktion den pfad als Variable anzugeben und diese Variable dann aus der entsprechenden Zeile der .txt-Datei zu nehmen. Leider weiss ich nicht wie ich das mache.

Freue mich schon auf Lösungsvorschläge!
Danke im Vorraus
smaresh
 
Zuletzt bearbeitet:
das eigentliche Problem ist den Pfad in der ShellExecute-Funktion durch eine Variable zu ersetzten, denn wenn ich das mache passiert entweder gar nichts oder er spuckt ne Fehlermeldung aus.
 
ok ich hab für eines meiner problem ne Lösung gefunden das mit der Variable geht so:

ShellExecute(Handle, 'open', PChar(a), nil, nil, SW_NORMAL);
wobei a die Variable ist in der mein Pfad als String ist.

Jetzt fehlt mir nur noch das letzte Puzzlestück wie kann ich aus einer Memo bestimme Zeilen als String-Variablen lesen

danke für die Mühe
smaresh
 
Meinst du vielleicht
Code:
meinestringvariable:= memo1.lines[zeilennummer];
?
Lines ist dabei ein Array of String und der Index beginnt bei 0.

MfG
Hellie
 
es hat sich noch ein weiteres Problem aufgetan:

eine Memo speichere ich so in eine .txt:
Memo1.Lines.SaveToFile(SaveDialog1.FileName);

aber weiss jemand wie ich den Inhalt einer Memo in eine bestimme Zeile einer bestehenden .txt Datei speichere

ODER

weiss jemand wie ich eine bestimmte zeile in einer memo ersetzten kann


war einfacher als gedacht:
zeilen ersetzen
Memo1.Lines[zeile]:='blabla';
 
Zuletzt bearbeitet:
Für das Speichern in einer bestimmten Zeile hast du meiner Meinung nach 2 Möglichkeiten: Entweder befasst du dich mit Dateioperationen und arbeitest direkt damit (hilft evtl für später) oder du versuchst es mit einer Variablen vom Typ TStringlist, dann kannst du damit ähnlich arbeiten wie mit einem Memo (ist vielleicht einfacher... hat die Prozedur Insert).

Wir helfen dir bei weiteren Fragen natürlich auch gern :)
Hellie
 
Wenn du nur das benutzen willst, was du bereits kannst mache einfach folgendes:

1. *.txt auslesen und in einer TStringList speichern
2. *.txt dann komplett leeren
3. Die StringList jetzt entsrechend formatieren und dann wieder abspeichern.

weiss jemand wie ich eine bestimmte zeile in einer memo ersetzten kann
Code:
memo.Lines[x]:= 'Der Neue Text für Zeile X'
 
Zurück