Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Datei in Memo laden (https://www.delphipraxis.net/13190-datei-memo-laden.html)

Ratte 12. Dez 2003 17:27


Datei in Memo laden
 
Hallo,

Ich möchte einen als Parameter übergebenen Dateinamen in einer Memo anzeigen. Der Text in der Titelzeile wird auch korrekt angezeigt, aber das Memo bleibt leer. :wall:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
if ParamCount>0 then
begin
    if FileExists(ParamStr(1)) then
    begin
    Dateiname:=Paramstr(1);
    Form1.Caption:='Programm - '+Dateiname;
    memo1.lines.loadfromfile(Dateiname);

      end;
end;
Danke im Vorraus,

Ratte :gruebel:

roderich 12. Dez 2003 17:38

Re: Datei in Memo laden
 
sieht für mich alles richtig gecodet aus.
Frage: ist die Datei auch wirklich im angegebenen Verzeichnis vorhanden ?

Die Muhkuh 12. Dez 2003 17:39

Re: Datei in Memo laden
 
Was ist den die Variable "Dateiname"?

r_kerber 12. Dez 2003 17:43

Re: Datei in Memo laden
 
Und wie sieht der erste Kommandozielenparameter aus? Hast Du eventuell ein Leerzeichen in der Pfad-Angabe?

eddy 12. Dez 2003 17:46

Re: Datei in Memo laden
 
Hallo Ratte,

Dein Quelltext ist fehlerfrei und funktioniert. Allerdings mußt Du sicherstellen, daß das Zeug, welches in der Datei (Parameter) steht, auch vom Memo dargestellt werden kann.

INI und TXT sehen gut aus, bei einer EXE steht nur MZP im Memo und eine XLS oder Paradox-DB sieht fürchterlich aus.

mfg
eddy

eddy 12. Dez 2003 17:54

Re: Datei in Memo laden
 
.... und wenn Leerzeichen im Dateinamen sind mußt Du den Parameter in Hochkomma setzen.

mfg
eddy

Ratte 12. Dez 2003 18:48

Re: Datei in Memo laden
 
@roderich:
Code:
if FileExists(ParamStr(1)) then
prüft doch ob die Datei existiert, oder?

@Spider: Dateiname ist ein string.

@ r_kerber, eddy: Mein Parameter lautet: "C:\Eigene Dateien\2.txt". 2.txt ist eine normale Textdatei (Edit.exe zeigt sie fehlerfrei an).

r_kerber 12. Dez 2003 18:51

Re: Datei in Memo laden
 
Hast Du das genauso mit "" als Parameter geschrieben? Dann solltest Du die " im Programm wieder entfernen!

eddy 12. Dez 2003 18:55

Re: Datei in Memo laden
 
Hallo Ratte,

dann muß es an Deiner Datei liegen. Habe eine 2.txt nach C:\Eigene Dateien\ gelegt und als Parameter in Delphi "C:\Eigene Dateien\2.txt" eingetragen --> wird feherfrei mit Deinem Quelltext angezeigt.

mfg
eddy

scp 12. Dez 2003 18:57

Re: Datei in Memo laden
 
Zitat:

Zitat von r_kerber
Hast Du das genauso mit "" als Parameter geschrieben? Dann solltest Du die " im Programm wieder entfernen!

Normalerweise werden die Anführungszeichen von Windows automatisch entfernt und der gesamte Text innerhalb der Anführungszeichen als ein Parameter übergeben, es sei denn es handelt sich um DOS :-)

Ratte 12. Dez 2003 19:13

Re: Datei in Memo laden
 
@r_kerber: Wenn ich das Programm ohne die "" aufrufe passiert garnichts. Außerdem wird in der Titelzeile der Name ohne "" angezeigt!

@eddy: Neue Datei erstellt, Parameter geändert: Nichts!


Delphi-Quellcode:
Form1.Caption:='Programm - '+Dateiname;
    memo1.lines.loadfromfile(Dateiname);
funktioniert mit vorherigem Aufruf eines FileOpen-Dialogs perfekt.

Ratte :gruebel: :gruebel: :gruebel:

r_kerber 13. Dez 2003 06:34

Re: Datei in Memo laden
 
*ratlosdreinschau*
Lass Dir doch mal anzeigen was in Dateiname steht!

Basic-Master 13. Dez 2003 10:28

Re: Datei in Memo laden
 
Zitat:

Zitat von Ratte
@r_kerber: Wenn ich das Programm ohne die "" aufrufe passiert garnichts. Außerdem wird in der Titelzeile der Name ohne "" angezeigt!

@eddy: Neue Datei erstellt, Parameter geändert: Nichts!


Delphi-Quellcode:
Form1.Caption:='Programm - '+Dateiname;
    memo1.lines.loadfromfile(Dateiname);
funktioniert mit vorherigem Aufruf eines FileOpen-Dialogs perfekt.

Ratte :gruebel: :gruebel: :gruebel:

haste schon mal ne datei auf dein programm gezogen :?: vllt liegts daran, dass in deinem paramstr am anfang n "-" ist, klemm das ma dazwischen:
Delphi-Quellcode:
if paramstr(1)[1] = '-' then
dateiname := copy(paramstr(1), 2, length(paramstr(1))
else
dateiname := paramstr(1);

eddy 13. Dez 2003 11:36

Re: Datei in Memo laden
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Ratte,

typischer Fall von: Das kann doch gar nicht sein.

Ich hab' Dir mal mein TestMemo mit allen Dateien und meiner 2.txt gepackt und angefügt.

Probier' mal, ob das bei Dir läuft.

mfg
eddy

Ratte 13. Dez 2003 13:28

Re: Datei in Memo laden
 
Hi,

Problem gelöst!!!! Normalerweise Steht am Anfang in einer Memo doch der Name der Memo. Also hatte ich in FormActivate das Memo gelöscht. Aber FormCreate wird doch davor ausgeführt! Also habe ich die Datei in das Memo geschrieben und gleich wieder gelöscht.:wall::wall::wall::wall::wall::wall:
Trotzdem noch mal danke für eure Bemühungen!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:00 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