Autor Beitrag
fm-g1
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Sa 28.04.07 03:32 
lol..
also ich hab auch schon bei google geguckt mir die ersten 5 seiten durch geklickt aber NICHTS gefunden..

ich will nur eine normale datei erstellen in der ein text ist..
also aus ner delphi mehr nciht..


Moderiert von user profile iconGausi: Topic aus Internet / Netzwerk verschoben am Sa 28.04.2007 um 10:14
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 28.04.07 04:07 
user profile iconfm-g1 hat folgendes geschrieben:
lol..
also ich hab auch schon bei google geguckt mir die ersten 5 seiten durch geklickt aber NICHTS gefunden..

ich will nur eine normale datei erstellen in der ein text ist..
also aus ner delphi mehr nciht..

Also ich weiß wirklich nicht, was ich von dieser Behauptung halten soll... (*) Eine Suche bei Google nach "delphi datei erstellen" liefert gleich im ersten Suchergebnis den entsprechenden Quelltext...
Und hier im Forum gibts bereits ein Thema, das EXAKT genauso heißt. Wirklich exakt inklusive der Kleinschreibung. Auch das ist eines der ersten Suchergebnisse bei Google.

Jedenfalls gibts ähnliche Themen (Strings, Memos, etc. in Dateien speichern, etc.) auch in der Bibliothek hier im Forum. Oben rechts unter Delphi-Library sieh mal unter Dateizugriff nach...
Stichwörter, die du dir mal in der Delphi-Hilfe oder auch im Netz ansehen könntest wären:
TStringList; AssignFile, Rewrite, WriteLn, CloseFile; ...

// EDIT:
Ich denke mal das hier ist erstmal das richtige für dich: www.christian-stelzm...rials-crashkurs.html

(*) bzw. ich sage besser nicht, was ich davon halte^^
fm-g1 Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Sa 28.04.07 11:58 
ich weiß ya nciht was ich flasch mache aber irgendwie funktionieren die alle nicht..
hab mich mit den suchbegriffen bis zu 8 seiten durchgeklickt aber alles hat nicht funktioniert...
ich weiß nciht was ich falsch mache..
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Sa 28.04.07 11:59 
Dann zeig doch mal, was du machst ;-)

Dann kömma ma guggn, ob wir deinen bisherigen Code irgendwie zum laufen kriegen. :D

_________________
We are, we were and will not be.
fm-g1 Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Sa 28.04.07 12:33 
okay...
ich hab diese 2 teile ausprobiert..(und noch ein paar mehr kann ich mich aber nciht mehr dran erinnern ;-))

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure TForm1.FormCreate(Sender: TObject);
var
cDatei : String;
Testdatei : TextFile;
begin
GetDir(0,cVerzeichnis);
cDatei := 'Testdatei.txt';

AssignFile(Testdatei, cVerzeichnis + '\' + cDatei);
if not FileExists(cVerzeichnis + '\' + cDatei) then Rewrite(Testdatei);
Append(Testdatei);
Writeln(Testatei, 'Dies ist einText');
CloseFile(Testdatei);
end;


also erst hab ich den direkt so kopier aber kam direkt das diese cverzeichnis undefiniert ist
dan hab ich 1000 möglichkeiten ausprobiert und keine möglichkeit gefunden..
also hab ich dieses cverzeichnis ausgetauscht ect..
und das dann halt nach den fehlern abgearbeitet..
aber es kommt immer wieder das dieses verzeichnis undefiniert ist..
nach längerer zeit hab ich es dann aber auch aufgegeben und mich an den 2. code ran gemacht..

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
const dateiname = 'test.txt';



procedure TForm1.create (Sender: TObject);
var file:TStringList;
    pfad:string;
begin
pfad:=ExpandFileName(TApplication.ExeName);
{ anders als getdir, funktioniert das immer zuverlässig }
If not(fileexists(pfad+dateiname))
then begin
     file:=TStringList.create;
     file.add('Dies ist der Text!');
     file.savetofile(pfad+dateiname);
     file.free;
     end;
end;

okay da war das gleiche ..
als 1. hab ich die zeilee file.savetofile(pfad+dateiname) halt abgeändert..
aber es kam immer der fehler bei
file.add...
das ein ( erwartet werden würde aber halt was anderes dort steht..

also hab ich es nach dem debugger halt versucht umzuschreiben..
hat auch schließlich funktioniert-> ohene fehler ect.
aber erstellt hat es nichts...

ein paar crashkurse hab ich mir auch schon durchgelesen aber irgendwas was ich falsch gemacht habe hab ich nciht gefunden...
und ich hab hier im forum auch halt viele ergebnisse gefunden..
leider kommen immer tausende fehler..
und wenn ich diese ausbesser kommen andere neue die vorher nciht da waren und dann gehts gar nicht mehr..

Moderiert von user profile iconGausi: Code- durch Delphi-Tags ersetzt
Karlson
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 2088



BeitragVerfasst: Sa 28.04.07 12:54 
Verwende zum ermitteln des Verzeichnis ExtractFilePath(ParamStr(0))

Außerdem darf deine Stringlist nicht file heissen! File ist ein freigehaltenes Wort! Du kannst Variablen ja auch nicht forbeginendwith... nennen.

Prinzipiell gilt folgendes: Wenn irgendwas nicht funktioniert (anfänglich ließ sich dein Programm sicherlich nicht kompilieren) gib die Fehlermeldung an! Das geht ganz einfach indem du auf den entsprechenden Eintrag klickst und STRG+C drückst, dann ist der Fehler in der Zwischenablage und du brauchst ihn nicht abzuschreiben.

Wenn du die beiden Sachen abänderst muss dein Code funktionieren. Es sei denn du rufst die Prozedur nicht korrekt auf oder du hast indem Verzeichniss in dem du die Datei erstellen möchtest keine Schreibrechte. Das wäre ohnehin ein Problem: Wenn du eine Datei z.B. mit Konfigeinstellungen deines Programms erstellen möchtest, dann speichere diese Datei nicht im Verzeichnis in dem die Exe liegt sondern in den Anwendungsdaten Suche in: Delphi-Forum, Delphi-Library GETSPECIALFOLDER, wenn dein Programm nämlich z.B. unter Vista im Programmverzeichnis liegt (c:\programme\ProgrammXYZ) dann funktioniert das erstellen der Datei nicht!

Moderiert von user profile iconGausi: Search-In-Syntax aus den Delphi-Tags entfernt
fm-g1 Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Sa 28.04.07 13:02 
okay big thx ich probiers gleich mal aus!
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Sa 28.04.07 13:04 
Copy & Paste Code wirst Du in den seltensten Fällen zum laufen bringen, wenn Du die Grundlagen von Delphi nicht beherschst.
Also hilft nur von klein auf anzufangen.
Hier noch ein sehr guter Delphi Kurs.
www.epinasoft.com/delphikurs/index_a.html

_________________
Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
fm-g1 Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Sa 28.04.07 13:13 
ya ich weiß..
hab mir auch schon vor länger zeit schoen ien paar bücher geholt aber leider
bringen die mich in den meisten fällen nciht wirklich weiter da steht irgendein aufbau blablabla aber wirklich hilfreich is das nicht..
was bedeutet eigentlichn das hier..

[Fehler] Unit1.pas(26): Undefinierter Bezeichner: 'assingfile'
was soll ich da den jetzt machen?
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Sa 28.04.07 13:34 
user profile iconfm-g1 hat folgendes geschrieben:

[Fehler] Unit1.pas(26): Undefinierter Bezeichner: 'assingfile'
was soll ich da den jetzt machen?

richtig schreiben ;)
Die Funktion heißt AssignFile.

Und dein allererster Fehler (der mit dem cVerzeichnis) kam daher, dass cVerzeichnis nicht deklariert war. Bei Delphi muss man Variablen schon deklarieren, was dir diverse Crashkurse gesagt haben sollten...

PS: oben ist ein Fehler im Highlighter. Ist das der bekannte?

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
fm-g1 Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Sa 28.04.07 13:47 
lol
..

egal..
ya ehmm..
ich weiß das mal variablen/konstanten deklarieren muss..
hab ich auch getan
aber im endeffekt kam irgendne fehlermeldung von das man das so nciht machen kann keine ahnung und da irgendwo ")" rein muss und man keine \ benutzen darf oder sowas...
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Sa 28.04.07 14:44 
user profile iconMartok hat folgendes geschrieben:
PS: oben ist ein Fehler im Highlighter. Ist das der bekannte?
yup...


user profile iconfm-g1 hat folgendes geschrieben:
aber im endeffekt kam irgendne fehlermeldung von das man das so nciht machen kann keine ahnung und da irgendwo ")" rein muss und man keine \ benutzen darf oder sowas...

Ich erwähne nochmal kurz den Crashkurs... Wie man Variablen benennen muss müsste da auch drin stehen.
Was Compiler-Fehlermeldungen angeht, hab ich dir einen generellen Tipp: Solange dir nicht ganz klar ist, was sie bedeuten, nimm sie nicht so genau. Wenn er sagt, es fehle eine Klammer, dann kann's auch sein, dass du unabsichtlich ein Konstrukt geschrieben hast, das eine Klammer erwartet, also versuch nicht zwanghaft eine Klammer hinzu zu fügen sondern schau, ob du nicht viel eher einen ganz anderen Fehler gemacht hast. Dass in Variablennamen keine (kaum) Sonderzeichen drin sein dürfen, sollte klar sein. Wie auch immer, einen _ kannst du in deine Variablen schon reinmachen.

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
rizla
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 417
Erhaltene Danke: 2

XP
FPC mit Lazarus
BeitragVerfasst: Sa 28.04.07 17:37 
user profile iconfm-g1 hat folgendes geschrieben:
ausblenden Delphi-Quelltext
1:
2:
if not FileExists(cVerzeichnis + '\' + cDatei) then Rewrite(Testdatei);
Append(Testdatei);



erst rewrite und dann append? das muss doch net sein, oder?

r

_________________
if you have what they want - they'll find a way to take it (bruce sterling)
WOW - 10 JAHRE Mitglied beim Delphi-Forum. Wie die Zeit vergeht, Freunde.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 28.04.07 19:16 
In der Tat...
An dieser Stelle schreib ich mal ganz kurz, was die Befehle eigentlich tun...
  • Rewrite:
    Wenn die Datei noch nicht existiert, wird diese erstellt und geöffnet, es kann danach in die leere Datei geschrieben werden.
    Existiert die Datei, so wird diese gelöscht und dann zum Schreiben geöffnet.
  • Reset:
    Eine bereits existierende Datei wird zum Lesen geöffnet.
  • Append:
    Eine bereits existierende Datei wird zum Anhängen neuer Daten an die bereits vorhandenen geöffnet.

Was im Fehlerfalle passiert steht in der Hilfe...

Interessant ist in diesem Zusammenhang noch FileMode. Diese globale Variable gibt (für das aktuelle Programm natürlich nur) an, wie eine Datei standardmäßig geöffnet werden soll. (shared, ...)