03/05/11 16:17
Goblin
Postato originariamente da camaleonteplus:
... <CUT>...
come posso salvare i dati di un Tedit in un file di testo?
... <CUT>...
come posso salvare i dati di un Tedit in un file di testo?
1) modo terra terra
messaggio.lines.add(user.text);
messaggio.lines.add(pwd.text);
.. tua procedura di salvataggio (Save1Click(Nil))
2) un po' più furbo
usi una TStringList salvando i dati almeno con uno xor
3) come il primo solo che oltre i dati cripti anche il file salvato
puoi utilizzare anche la classe TInifiles
G.
Ibis redibis non morieris in bello
03/05/11 16:29
camaleonteplus
come hai fatto tu mi crea due file invece volevo fare tutto in un file.
Ho Fatto in questo modo:
ma mi da questo errore:
[Error] Invio.pas(532): Undeclared identifier: 'Items'
Ho Fatto in questo modo:
procedure TForm2.Exit1Click(Sender: TObject); begin Username.Items.SaveToFile('Config.ini'); close; end; end;
ma mi da questo errore:
[Error] Invio.pas(532): Undeclared identifier: 'Items'
aaa
03/05/11 17:12
Goblin
Postato originariamente da camaleonteplus:
come hai fatto tu mi crea due file invece volevo fare tutto in un file.
Ho Fatto in questo modo:
ma mi da questo errore:
[Error] Invio.pas(532): Undeclared identifier: 'Items'
come hai fatto tu mi crea due file invece volevo fare tutto in un file.
Ho Fatto in questo modo:
procedure TForm2.Exit1Click(Sender: TObject); begin Username.Items.SaveToFile('Config.ini'); close; end; end;
ma mi da questo errore:
[Error] Invio.pas(532): Undeclared identifier: 'Items'
2 file ??
uno solo con 2 righe, in quanto l'add è stato fatto al componente messaggio.
cmq io userei la classe TStringList, oppure la classe TIniFile.
Butto giù qualcosa "al volo" per quanto riguarda la TSTringList
Function SaveStringTofile(sFile: String; aRighe: array of String):Boolean; // ritorna tru se tutto OK Var oFile: TStringList; x: Integer; begin Result := True; //tutto OK // manca tutto il pezzo del test se esiste, se arighe <> vuoto ect ect ect oFile := TStringList.Create; try For x:= Low(aRighe) to High(aRighe) do oFile.Add(aRighe[x]); Try oFile.SaveToFile(sFile); except //gestione errori Result := false; end; finally oFile.Free; end; end;
la chiamata :
SaveStringTofile('c:\test\pippo.txt', ['pippo', 'Pluto']);
il primo parametro è il nome del file con il path completo, il secondo parametro è un array di stringhe che saranno salvate nel file, nel mezzo una funzioncina di critta/decritta per non far vedere in chiaro le parole salvate ci potrebbe stare bene
G
Ibis redibis non morieris in bello
03/05/11 19:43
smanettone83
Ti da errore perche la chiamata per la creazione dei file ini è diversa.
Per prima cosa dichiara nelle uses la clausola INIFILES. poi dovrai creare 2 procedure: una per la scrittura dell' ini ed una per la lettura.
Puoi chiamara la procedura LeggiIni sull'evento oncreate del form1 e il CreaIni sul Onclose.
Spero ti sia di aiuto!
Per prima cosa dichiara nelle uses la clausola INIFILES. poi dovrai creare 2 procedure: una per la scrittura dell' ini ed una per la lettura.
//CREAZIONE DEL FILE INI procedure CreaIni; var ini:Tinifile; begin ini:= Tinifile.Create(extractfilepath(paramstr(0))+'Config.ini'); ini.WriteString('DATI','Username',user.text); ini.WriteString('DATI','Password',pass.text); end; //LETTURA DEL FILE INI procedure LeggiIni; var ini:Tinifile; Username,password:string; begin ini:= Tinifile.Create(extractfilepath(paramstr(0))+'Config.ini'); Username:= ini.ReadString('DATI','Username',''); Password:= ini.ReadString('DATI','Password',pass.text); user.text:= Username: pass.text:= Password; end;
Puoi chiamara la procedura LeggiIni sull'evento oncreate del form1 e il CreaIni sul Onclose.
Spero ti sia di aiuto!
aaa
04/05/11 15:38
camaleonteplus
Per scrivere il file Ini ho fatto in questo modo.
il file viene creato perfettamente.
Per leggere il file ini ho fatto cosi.
e qui ho il problema mi da questo errore:
[Error] Invio.pas(247): Record, object or class type required
su questa riga:
dove l'errore?
procedure TForm2.Exit1Click(Sender: TObject); var ini:Tinifile; begin ini:= Tinifile.Create(extractfilepath(paramstr(0))+'Config.ini'); ini.WriteString('Dati','Username',Username.text); ini.WriteString('Dati','Password',Password.text); ini.WriteString('Rete','HeloName',Helo.text); close end;
il file viene creato perfettamente.
Per leggere il file ini ho fatto cosi.
var ini:Tinifile; Username,Password,HeloName:string; begin ini:= Tinifile.Create(extractfilepath(paramstr(0))+'Config.ini'); Username:= ini.ReadString('Dati','Username',Username.text); Password:= ini.ReadString('Dati','Password',Password.text); HeloName:= ini.ReadString('Rete','HeloName',Helo.text); Username.text:= Username: Password.text:= Password: Helo.Text:= HeloName; end;
e qui ho il problema mi da questo errore:
[Error] Invio.pas(247): Record, object or class type required
su questa riga:
Username:= ini.ReadString('Dati','Username',Username.text);
dove l'errore?
aaa
04/05/11 18:31
smanettone83
fai cosi:
var ini:Tinifile; Username,Password,HeloName:string; begin ini:= Tinifile.Create(extractfilepath(paramstr(0))+'Config.ini'); Username:= ini.ReadString('Dati','Username',''); Password:= ini.ReadString('Dati','Password',''); HeloName:= ini.ReadString('Rete','HeloName',''); Username.text:= Username: Password.text:= Password: Helo.Text:= HeloName; end;
aaa
04/05/11 19:43
camaleonteplus
adesso l'errore me lo da su questa riga:
[Error] Invio.pas(250): Record, object or class type required
Username.text:= Username:
[Error] Invio.pas(250): Record, object or class type required
aaa