![]() |
Textdatei mit Inhalt erstellen
Hey,
mit CreateFile('Dateiname') erstellt man ja eine Datei aber wie kann ich machen das wenn ich eine .txt erstelle da auch was drin steht? |
Re: Textdatei mit Inhalt erstellen
Delphi-Quellcode:
var
MyStringList: TStringList; begin MyStringList := TStringList.Create; try MyStringList.Add('dhekhg kwhckghwghucwr '); MyStringList.Add('guzwe vluizgwzw zcu5gz'); MyStringList.SaveToFile('C:\rkjhgkrh.txt'); finally MyStringList.Free end; end; |
Re: Textdatei mit Inhalt erstellen
Schau dir mal textfile, assignfile, reset, rewrite, append, truncate, readln, writeln und closefile an.
|
Re: Textdatei mit Inhalt erstellen
CreateFile ist die Funktion welche Windows anbietet auf Api-Basis. Als Anfänger ist man da aber recht schnell überfordert. Es ist aber auch nicht notwendig diese Funktion zu verwenden da Delphi einiges mitbringt. So zum Beispiel die Stringlist welche Methoden anbietet in Dateien zu schreiben, TFileStream zur Arbeit mit Dateien als nachfahre von TStream, die nicht objektrierentierten Funktionen AssignFile, Reset etc., TIniFile und einiges mehr.
Je nach dem was du vor hast ist das eine oder andere besser. Wie du bereits mitbekommen hast bekommst du alle möglichen Varianten als Lösung was daran liegt das du uns nicht mitgeteilt hast was du genau machen willst. @calculon: Es wäre sehr schön im Sinne einer Community wenn du auch ein paar Worte zu deinem geposteten Quelltext verlierst. |
Re: Textdatei mit Inhalt erstellen
Zitat:
![]() Gruß -- |
Re: Textdatei mit Inhalt erstellen
Mit den Pascal-Routinen geht es ebenso schnell:
Delphi-Quellcode:
var f: Textfile;
begin AssignFile(f, 'C:\rkjhgkrh.txt'); Rewrite(f); try Writeln(f, 'dhekhg kwhckghwghucwr '); Writeln(f, 'guzwe vluizgwzw zcu5gz'); finally CloseFile(f); end; end; |
Re: Textdatei mit Inhalt erstellen
Zitat:
Gruß -- |
Re: Textdatei mit Inhalt erstellen
Es gibt auch die Tastenkombination Strg + Leertaste. Allerdings muss man dann noch wissen was man tut bzw. braucht.
|
Re: Textdatei mit Inhalt erstellen
So danke für die Antworten :).
Hab jetzt geschafft das er eine Datei erstellt mit dem Text der Standartmäßig drinn sein soll! Aber mein neues Problemm ist das er nicht den Text aus dem Edit1.Text nimmt und dan in die datei schreibt =(.
Delphi-Quellcode:
Könnt mir bitte jemand sagen woran es liegt^^?
procedure TForm4.Button1Click(Sender: TObject);
var myFile : TextFile; text : string; adresse : string; begin edit1.text := adresse; AssignFile(myFile, 'DATEINAME'); ReWrite(myFile); WriteLn(myFile, 'STANDARTTEXT ', adresse); || Bei adresse soll der Text aus dem Edit1 hinkommen WriteLn(myFile); CloseFile(myFile); Reset(myFile); CloseFile(myFile); end; end. |
Re: Textdatei mit Inhalt erstellen
Zitat:
Delphi-Quellcode:
Gruss
adresse := edit1.text;
|
Re: Textdatei mit Inhalt erstellen
Omg -.-,
blöder Fehler xD Danke Dir =D |
Re: Textdatei mit Inhalt erstellen
Zwei Anmerkungen:
1.
Delphi-Quellcode:
das Reset() und das 2te CloseFile() sind überflüssig
CloseFile(myFile);
Reset(myFile); CloseFile(myFile); 2. Normalerweise wäre der Code um eine minimlae Fehlerbehandlung zu ergänzen, also z.B.
Delphi-Quellcode:
AssignFile(myFile,'DATEINAME');
{$I-} rewrite(myFile); {$I+} if ioResult<>0 then ShowMessage('Fehler' else begin WriteLn(myFile, 'STANDARTTEXT ', adresse); || Bei adresse soll der Text aus dem Edit1 hinkommen WriteLn(myFile); end; CloseFile(myFile); |
Re: Textdatei mit Inhalt erstellen
Was soll das {$I-}? Wenn ich diesen Compilerschalter verwende, dann gebe ich im Fehlerfall eine aussagekräftige Fehlermeldung aus. Ansonsten kann man die Exception durchreichen. Wie das mit Try-Finally funktioniert, habe ich ja weiter oben gezeigt.
|
Re: Textdatei mit Inhalt erstellen
Zitat:
Habs rausgetan^^ Zu 2: Könntest du bitte erklären was das bringt^^?? Blicke ich iwi nicht durch^^ Und hab noch ne Frage^^ wenn ich jetzt eine If Schleife mit ShellExcute mache:
Delphi-Quellcode:
Wie kann ich dem jetzt sagen das die datei in der variable:ordner (text aus Edit2) liegt?
if Checkbox1.Checked then
ShellExecute(Handle, nil, 'DATEI.exe', nil, nil, SW_SHOW); end; |
Re: Textdatei mit Inhalt erstellen
Zitat:
Delphi-Quellcode:
ShellExecute(Handle, nil, PChar( Edit2.Text), nil, nil, SW_SHOW);
|
Re: Textdatei mit Inhalt erstellen
Zitat:
|
Re: Textdatei mit Inhalt erstellen
Dann halt:
Delphi-Quellcode:
Aber ein spezieller Dateidialog wäre wohl eher geignet
ShellExecute(Handle, nil, PChar( Edit2.Text)+'\'+Dateiname, nil, nil, SW_SHOW);
|
Re: Textdatei mit Inhalt erstellen
zu 1) Nun, was bringt eine Fehlerbehandlung? Du hast damit als Programmierer die Möglichkeit, dem Nutzer einen ausführlicheren/gezielteren Hinweis auf einen Fehler zu geben, als es das Betriebssystem kann. Übergebe doch im AssignFile() mal einen Dateinamen mit Angabe eines Laufwerks, dass es bei dir nicht gibt. Dann führe den Code mal mit und mal ohne Fehlerbehandlung aus, dann erkennst du den Unterschied.
zu 2) schon beantwortet :P |
Re: Textdatei mit Inhalt erstellen
Zitat:
Was meinst du mit Dateidialog? Maan scho wieder en Prob =( Wie bezeichne ich einen Dateiname xD? |
Re: Textdatei mit Inhalt erstellen
Schau mal in der Hilfe nach SelectDirectory, das ist sowas.
|
Re: Textdatei mit Inhalt erstellen
Zitat:
Zitat:
|
Re: Textdatei mit Inhalt erstellen
Hab jetzt die Datei bezeichnet
Delphi-Quellcode:
(Hoff ist so richtig xD)
Death : string;
Delphi-Quellcode:
NuN bekomm ich aber wieder einen Fehler: :wall: :wall:
if Checkbox1.Checked then
ShellExecute(Handle, nil, PChar( Edit2.Text)+'\'+Death.exe, nil, nil, SW_SHOW); end; Zitat:
|
Re: Textdatei mit Inhalt erstellen
Delphi-Quellcode:
ShellExecute(Handle, nil, PChar( Edit2.Text+'\Death.exe'), nil, nil, SW_SHOW);
|
Re: Textdatei mit Inhalt erstellen
In diesem Fall ist die Variablendeklaration unnötig.
Sie macht nur Sinn, wenn du z.B. so vorgehst:
Delphi-Quellcode:
var Death : String;
//.. Death:='death.exe'; ShellExecute(Handle, nil, PChar( Edit2.Text+'\'+Death), nil, nil, SW_SHOW); //.. |
Re: Textdatei mit Inhalt erstellen
Und wenn man dann noch berücksichtigt, dass das Edit evtl. den Backslash bereits enthalten könnte und den Rückgabewert von ShellExecute auswertet, wird das so langsam rund :zwinker:
|
Re: Textdatei mit Inhalt erstellen
Zitat:
|
Re: Textdatei mit Inhalt erstellen
Ich mach hier mal zu da die erste Frage geklärt ist. Für die zweite bitte ich ein neues Thema zu eröffnen damit die Übersichtlichkeit nicht verloren geht.
*** geschlossen *** |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz