AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Text wird im Textdokument in der falschen Form gespeichert
Thema durchsuchen
Ansicht
Themen-Optionen

Text wird im Textdokument in der falschen Form gespeichert

Offene Frage von "Coder1990"
Ein Thema von Coder1990 · begonnen am 22. Feb 2008 · letzter Beitrag vom 25. Feb 2008
Antwort Antwort
Benutzerbild von Coder1990
Coder1990

Registriert seit: 3. Nov 2007
116 Beiträge
 
Delphi 2005 Personal
 
#1

Text wird im Textdokument in der falschen Form gespeichert

  Alt 22. Feb 2008, 16:36
Seas,
ich habe ein Programm geschrieben dass Passwörter abspeichern soll
dieses System benutze ich um AllPW (listbox mit Passwörtern) und PWInfoData (Array of Array of String) abzuspeichern

Delphi-Quellcode:
var
i:integer;
k: integer;
Temp1,Temp2,line:String;
begin
AssignFile(Haupt.Data,ExtractFilePath(Application.ExeName)+'PWDATA.PW');
rewrite(Data);
i:=0;
k:=0;
repeat
WriteLn(Haupt.Data,Code(AllPW.Items[i],CodeFak));
repeat
WriteLn(Haupt.Data,Code('ÿ'+PWInfoData[i][k],CodeFak));
k:=k+1;
until PWInfoData[i][k]='';
i:=i+1;
until i>=AllPW.items.Count-1;
closeFile(Haupt.Data);
Eigentlich sollte das dann so ausgegeben werden (im Dokument):

Passwort1
ÿInfo1
ÿInfo2
ÿInfo3
Passwort2
ÿInfo1
ÿInfo2
...

aber es wird eher so ausgegeben

Passwort1
Passwort1ÿInfo1
Passwort1ÿInfo1ÿInfo2 .. usw.

was muss ich ändern damit das funkt?

Zitat:
//edit: ich möchte hiermit auf mein anderes Problem verweißen Problem
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Text wird im Textdokument in der falschen Form gespeiche

  Alt 22. Feb 2008, 22:07
Deinen Einträgen fehlen die Zeilenumbrüche. Writeln kann die nur bei reinen Textdateien (var File : Text automatisch schreiben. Hast Du das genau so deklariert? Wenn nicht, schreibst Du eine binäre Datei, dann musst du die Zeilenumbrüche ($0D$0A) jedesmal gesondert an Deinen String anhängen.

Übrigens wäre es hilfreich, wenn Du Deinen Quelltext durch sinnvolles Einrücken etwas übersichtlicher machen würdest:
Delphi-Quellcode:
var
  i:integer;
  k: integer;
  Temp1,Temp2,line:String;
begin
  AssignFile(Haupt.Data,ExtractFilePath(Application.ExeName)+'PWDATA.PW');
  rewrite(Data);
  i:=0;
  k:=0;
  repeat
    WriteLn(Haupt.Data,Code(AllPW.Items[i],CodeFak));
    repeat
      WriteLn(Haupt.Data,Code('ÿ'+PWInfoData[i][k],CodeFak));
      k:=k+1;
    until PWInfoData[i][k]='';
    i:=i+1;
  until i>=AllPW.items.Count-1;
  closeFile(Haupt.Data);
end;
Grüße, Messie
  Mit Zitat antworten Zitat
Benutzerbild von Coder1990
Coder1990

Registriert seit: 3. Nov 2007
116 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Text wird im Textdokument in der falschen Form gespeiche

  Alt 22. Feb 2008, 22:32
also meine Datei ist eine Textfile und ich schreibe auch schon vorher was in die datei und da funktionierts... hat das vll was mit der schleife zu tun? und wie wende ich dieses $0D$0A an??
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Text wird im Textdokument in der falschen Form gespeiche

  Alt 22. Feb 2008, 22:52
Zitat von Coder1990:
also meine Datei ist eine Textfile und ich schreibe auch schon vorher was in die datei und da funktionierts... hat das vll was mit der schleife zu tun?
Ich schätze, eher mit dem Inhalt, den Du schreibst. Du musst sicherstellen, dass Du nur ASCII in die Datei schreibst. Wenn Deine Funktion Code() irgendwas anderes ausgibt, könnte das ein Problem werden.
Zitat von Coder1990:
und wie wende ich dieses $0D$0A an??
Ich vermute, einfach hinter die Ausgabe hängen. Falls das mit den alten Funktionen nicht geht, dann
WriteLn(Haupt.Data,Code('ÿ'+PWInfoData[i][k],CodeFak)+#10+#13); [OT]Schieb mal Dein Hauptmenü nach links aus dem Bildschirm und mach es dann breiter. Da könntest Du Deine Komponentenpalette wiederfinden. Jedenfalls habe ich die auch aus dem Bild schieben können und so wieder zurückgeholt[/OT]

Grüße, Messie
  Mit Zitat antworten Zitat
Benutzerbild von Coder1990
Coder1990

Registriert seit: 3. Nov 2007
116 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Text wird im Textdokument in der falschen Form gespeiche

  Alt 22. Feb 2008, 23:29
Zitat von messie:
[OT]Schieb mal Dein Hauptmenü nach links aus dem Bildschirm und mach es dann breiter. Da könntest Du Deine Komponentenpalette wiederfinden. Jedenfalls habe ich die auch aus dem Bild schieben können und so wieder zurückgeholt[/OT]
Juhuuu als ich das gemacht habe konnte man einen ganz kleinen Ansatz der Leiste erkennen danke

Hmm zu meinem wahren Problem^^
also irgendwie hat das keinen Umbruch verursacht der hat das glaub ich als string nun hinzugefügt oder so?!

Delphi-Quellcode:
repeat
WriteLn(Haupt.Data,Code(AllPW.Items[i],CodeFak)+#10+#13);
repeat
WriteLn(Haupt.Data,Code('ÿ'+PWInfoData[i][k],CodeFak)+#10+#13);
k:=k+1;
  Mit Zitat antworten Zitat
busybyte

Registriert seit: 15. Sep 2006
165 Beiträge
 
#6

Re: Text wird im Textdokument in der falschen Form gespeiche

  Alt 22. Feb 2008, 23:38
das liegt an Deiner function Code ,die liefert Schrott zurück
I love DiscCat
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#7

Re: Text wird im Textdokument in der falschen Form gespeiche

  Alt 22. Feb 2008, 23:59
Zitat von busybyte:
das liegt an Deiner function Code ,die liefert Schrott zurück
Stimmt vermutlich, ausser den Einrückungen sollte der Aufruf auch eherWriteLn(Haupt.Data,Code('ÿ'+ ->PWInfoData[i,k]<- ,CodeFak)+#10+#13); lauten. Ich hab' es noch nie probiert, ob die Übergabe in einzelnen Klammern funzt, ist aber nicht üblich.

Grüße, Messie
  Mit Zitat antworten Zitat
busybyte

Registriert seit: 15. Sep 2006
165 Beiträge
 
#8

Re: Text wird im Textdokument in der falschen Form gespeiche

  Alt 23. Feb 2008, 00:45
Das liegt doch nur daran, das der Ausgabestring der Function, oder ein String in der Codierfunktion nicht gelöscht wird,
sondern noch den Wert des vorherigen Aufrufes enthält.
//edit
Es liegt vermutlich nicht an dem Aufruf von Code(... sondern drinnen in deiner geheimnissvollen Funktion Code,
es sei denn die Parameter würden schon vor der Übergabe an Code nicht stimmen.
I love DiscCat
  Mit Zitat antworten Zitat
Benutzerbild von Coder1990
Coder1990

Registriert seit: 3. Nov 2007
116 Beiträge
 
Delphi 2005 Personal
 
#9

Re: Text wird im Textdokument in der falschen Form gespeiche

  Alt 23. Feb 2008, 11:42
hmm ich weiß jetzt selbst nicht woran es lag, ich hab jetzt ein bisschen rumprobiert (an "Code" lag es nicht weil da wurde immer der String reseted) z.b. war "Code" vorher auf repeat basis und jetzt auf for basis usw. viele kleinigkeiten... jetzt geht eigentlich alles bloß gibt es noch ein problem dass für das zweite passwort nicht alle infos gespeichert werden...
achja das mit der [][] Klammer geht scheinbar ich habs ausversehen so geschrieben und es funzt^^
  Mit Zitat antworten Zitat
Benutzerbild von Coder1990
Coder1990

Registriert seit: 3. Nov 2007
116 Beiträge
 
Delphi 2005 Personal
 
#10

Re: Text wird im Textdokument in der falschen Form gespeiche

  Alt 25. Feb 2008, 17:15
Gibts noch ideen?^^
  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 12:30 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