![]() |
ini file wird nicht erstellt+fehlermeldung bei write string
aloha
hab grad ein kleine problem, arbeite gerade an einer anwendung mit einer login form... wird ein benutzername eingegeben der in eine bestimmten directory noch nicht vorhanden ist, dann soll eine neue .ini datei erstellt werden... jetzt hab ich 2 probleme... 1.) die .ini datei wird mir nicht erstellt (ich vermute mal das es daran lag das ich eine leere .ini datei erstellen wollte) 2.) aufgrund der in 1. angesprochenen vermutung wollt ich in die .ini datei mit writestring was reinschreiben, aber hier bekomm ich dann folgenden fehler beim kompelieren: [Fehler] Project_login.pas(67): E2076 Diese Form des Methodenaufrufs ist nur für Klassenmethoden erlaubt weiß jemand woran das liegen könnte??? hier die prozedur:
Delphi-Quellcode:
die login_form ruf ich aus meine main_form wie folgt auf:
procedure TLogin_Form.xpbtn_loginClick(Sender: TObject);
var blEntry, blFile : Boolean; sPath : String; Ini : TIniFile; begin blEntry := True; sPath := ExtractFilePath(Application.ExeName); //ShowMessage(sPath); If (edt_user.Text = '') Or (edt_password.Text = '') Then Begin MessageDlg('User or Password is Missing!' + #13 + 'Please Insert all Informations!', mtError, [mbOk], 0); blEntry := False; End; If blEntry = True Then Begin blFile := FileExists(sPath + 'UserProfiles\' + edt_user.Text + '.ini'); If blFile = False Then Begin //ShowMessage(sPath + 'UserProfiles\' + edt_user.Text + '.ini'); Ini := TIniFile.Create(sPath + 'UserProfiles\' + edt_user.Text + '.ini'); Ini := TIniFile.WriteString('UserInformation', 'UserName:', edt_user.Text); Ini.Free; End; End; end;
Delphi-Quellcode:
würde mich freuen wenn mir hier jemand weiterhelfen kann :thumb:
Application.CreateForm(TLogin_Form, Login_Form);
Login_Form.ShowModal; |
Re: ini file wird nicht erstellt + fehlermeldung bei write s
Moin,
wenn statt
Delphi-Quellcode:
ein exit; steht, kann eigentlich die Variable blEntry entfallen.
blEntry := False;
Dann gehst Du ja nur in das Create, wenn das File nicht existier, dann sollte hier ein
Delphi-Quellcode:
mit rein, damit alle nichjt vorhandenen Unterverzeichnisse erzeugt werden. Das macht, glaube ich, das Ini.Create nicht.
Forcedirectories(pfad)
Dann sollte es eigentlich funzen. Grüße tac |
Re: ini file wird nicht erstellt + fehlermeldung bei write s
danke für die antwort TAC
das mit dem Exit; werd ich mal ausprobieren... aber mein pfad zu ich doch schon richtig ermitteln!
Delphi-Quellcode:
ermittelt mir ja das directory der .exe
sPath := ExtractFilePath(Application.ExeName)
da wo sich die .exe befindet hab ich einen ordner der sich UserProfiles nennt, denn häng ich dann noch im create befehl für die .ini mit hinten drann und schon hab ich mein komplette directory... müsste doch stimmen oder seh ich das falsch? |
Re: ini file wird nicht erstellt + fehlermeldung bei write s
Hallo Andreas,
schau mal genau hin und vergleiche:
Delphi-Quellcode:
Grüße vom marabu
procedure TLogin_Form.xpbtn_loginClick(Sender: TObject);
var blEntry : Boolean; fn, sPath : TFileName; Ini : TMemIniFile; begin blEntry := True; sPath := ExtractFilePath(Application.ExeName); If (edt_user.Text = '') Or (edt_password.Text = '') Then Begin MessageDlg('User or Password is Missing!' + #13 + 'Please Insert all Informations!', mtError, [mbOk], 0); Exit; End; fn := sPath + 'UserProfiles\' + edt_user.Text + '.ini'; If not FileExists(fn) Then Begin Ini := TMemIniFile.Create(fn); Ini.WriteString('UserInformation', 'UserName', edt_user.Text); Ini.UpdateFile; Ini.Free; End; end; |
Re: ini file wird nicht erstellt+fehlermeldung bei write str
Hallo 1
Lass Dir mal sPath zurückgeben mit ShowMessage zb. vieleicht fehlt hier auch Ini := TIniFile.Create(sPath + '\' + 'UserProfiles\' + edt_user.Text + '.ini'); |
Re: ini file wird nicht erstellt+fehlermeldung bei write str
TAC: 0 Punkte
marabu: 1 Punkt Blackheart: 0 Punkte :mrgreen: |
Re: ini file wird nicht erstellt+fehlermeldung bei write str
:( ich hab meine prozedure auf marabus vorschlag umgeschrieben...
funkt aber immer noch net :( krieg folgende fehlermeldung: 1) [Fehler] Project1_login.pas(59): E2010 Inkompatible Typen: 'TMemIniFile' und 'TIniFile' 2) [Fehler] Project1_login.pas(61): E2076 Diese Form des Methodenaufrufs ist nur für Klassenmethoden erlaubt |
Re: ini file wird nicht erstellt+fehlermeldung bei write str
Ein weiterer Schreibfehler von mir - jetzt ist er korrigiert.
marabu |
Re: ini file wird nicht erstellt+fehlermeldung bei write str
ok der erste fehler is weg...
der 2. fehler is immer noch da, und .ini datei wird nicht erstellt... kann es sein das delphi ein problem hat auf usb-sticks .ini dateien zu stellen...? oder gibt es probleme wenn im pfad leerzeichen enthalten sind....? |
Re: ini file wird nicht erstellt+fehlermeldung bei write str
Hallo Andreas,
bis jetzt lagen die Daten nur im Speicher, füge vor dem Ini.Free ein
Delphi-Quellcode:
ein, dann hast Du auch eine Datei.
Ini.UpdateFile;
Gruß Volker |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:23 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