Autor Beitrag
Erzengel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 99

Win 2000, WinXP
Delphi 5 Enterprise
BeitragVerfasst: Mo 12.01.04 14:00 
Hallo,

Habe ein kleine Probelm in meinem Programm. Der User soll seinen Namen, Kürzel, USER-ID, Host und das Password in Edit felder eintragen und es abspeichern. Bei nächten start sollen sich aber die Felder mit den zuletzt eingetragenen Daten wieder füllen, ohne Button.

1. Wo kommt der Quelltext für das laden hin

2. Das habe ich bereit schon gemacht klappt aber nicht so ganz
Inhalt der txt-Datei
ausblenden Quelltext
1:
2:
3:
4:
5:
Max Mustermann
mustermann
192.168.2.1
password
Benutzerkennung


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
var i: integer; 
      s: TStringList;
begin
try
 s:= TStringList.Create;
 s.LoadFromFile('konto1.txt');
 for i:=1 to 5 do // für 5 die Anzahl der Edits nehmen
     (FindComponent('Edit' + IntToStr(i)) as TEdit).Text := s[i];
finally
 s.Free;
end;
end;


Hoffe das da eine schnelle Lösung zufinden ist. Danke im voraus.
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Mo 12.01.04 14:12 
Hallo,

1. Ich würde das Form Create ereignis vorschlagen.

2. Was klappt denn nicht?

Gruß
Klabautermann
Erzengel Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 99

Win 2000, WinXP
Delphi 5 Enterprise
BeitragVerfasst: Mo 12.01.04 14:21 
Lösung 1. angenommen

2. Läd es nicht rein. Krieg eine Fehlermeldung.

Der Index der Liste überschreitet das Maximum (5)
ShiKai
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56



BeitragVerfasst: Mo 12.01.04 14:34 
als tipp, du willst das passwort aber nicht plain-text in einer text-datei speichern, oder?

zu deinem "problem", du weißt schon, dass eine string-liste immer mit dem index 0 anfängt, und das letzte item an der Position Pred(Count) steht, oder?

bitte, vor dem fragenstellen immer erst die hilfe (in delphi einfach auf F1 klicken) zu rate ziehen...



wfg,
ShiKai
Erzengel Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 99

Win 2000, WinXP
Delphi 5 Enterprise
BeitragVerfasst: Mo 12.01.04 14:37 
:D das password wird nachher noch verschlüßelt.
Komm aber imemr noch nicht dahinter warum es nicht geht. :oops:
Andi1982
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 497

WinXP HE
D6 Enterprise
BeitragVerfasst: Mo 12.01.04 14:42 
Hi,
mach bei deiner schleife mal:

ausblenden Delphi-Quelltext
1:
for i:=0 to 4 do // für 5 die Anzahl der Edits nehmen					


Vielleicht geht das ja!!

_________________
Solange die Bombe tickt ist alles in Ordnung, erst wenn sie damit aufhört wird es problematisch...
Erzengel Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 99

Win 2000, WinXP
Delphi 5 Enterprise
BeitragVerfasst: Mo 12.01.04 14:47 
das funktioniert aber er schiebt die ganzen Zeilen dann höher.
und die erste Zeile Max Mustermann erscheit gar nicht
Andi1982
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 497

WinXP HE
D6 Enterprise
BeitragVerfasst: Mo 12.01.04 14:58 
Ja logisch, wahrscheinlich hast du kein edit-feld das Edit 0 heißt!! du müsstest dann folgendes tun:

ausblenden Delphi-Quelltext
1:
2:
for i:=0 to 4 do // für 5 die Anzahl der Edits nehmen 
     (FindComponent('Edit' + IntToStr(i + 1)) as TEdit).Text := s[i];


das müsst gehen oder??

_________________
Solange die Bombe tickt ist alles in Ordnung, erst wenn sie damit aufhört wird es problematisch...
Erzengel Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 99

Win 2000, WinXP
Delphi 5 Enterprise
BeitragVerfasst: Mo 12.01.04 15:09 
Habe die Lösung gefunden.
Problem war er konnte die erste reihe nicht lesen im txt.

beim speichern muße ich einfach  for i:=0 to 5 do einsetzen
und beim laden  for i:=0 to 5 do
danke für mitdenken
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Mo 12.01.04 15:22 
Hallo,

generell solltest du es vermeiden mit festen (ober)grenzen zu Arbeiten. Wenn du bei einer Stringlisste alle Elemente bearbeiten willst, dann sollte das so aussehen:

ausblenden Delphi-Quelltext
1:
FOR i := 0 TO MyStringList.Count - 1 DO					


wenn du nur die ersten Elemente nutzt, dann solltest du wenigstens eine Sicherheitsabfrage vorher durchzuführen_
ausblenden Delphi-Quelltext
1:
2:
IF MyStringList.Count > 4 THEN
  FOR i := 0 TO 4 DO


Gruß
Klabautermann
ShiKai
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56



BeitragVerfasst: Mo 12.01.04 15:24 
oh man...

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
var
  Index : Integer;  
  MaxIndex : Integer;
  StringList : TStringList; 
begin 
  StringList := TStringList.Create; 
  try 
    StringList.LoadFromFile(ExtractFilePath(Application.ExeName) + 'konto1.txt'); 

    if (StringList.Count >= 5then
      MaxIndex := 5
    else
      MaxIndex := StringList.Count;

    for Index := 1 to MaxIndex do
      TEdit(FindComponent('Edit' + IntToStr(Index))).Text := StringList[Pred(Index)]; 
  finally 
    StringList.Free; 
  end
end;


mehr nicht...

Moderiert von user profile iconUGrohne: Code- durch Delphi-Tags ersetzt
Erzengel Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 99

Win 2000, WinXP
Delphi 5 Enterprise
BeitragVerfasst: Mo 12.01.04 15:46 
kukuk es geht schon. hab die lösung schon gefunden.
habe aber ein anders kleine problem gefunden.

ausblenden Delphi-Quelltext
1:
FileName :='\\ibasserver\ELOProf\Global\Postbox\Hier soll das edtit erscheien\'+ Zeit + '_' + inttostr(counter) +'.tif';					


Wie kann ich nur den Text von dem Edit feld in die obengenannte zeile bringen. im text des edit feld steht: vk (soll ein ordener name sein)
unddazu steht das editfeld in form2. aber der qulltext soll in form1 erscheien. :oops:
voll kein plan
Andi1982
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 497

WinXP HE
D6 Enterprise
BeitragVerfasst: Mo 12.01.04 15:53 
hmm, du musst oben in Form1 die form2 als uses eintragen oder wie das heißt, und dann ganz einfach:


ausblenden Delphi-Quelltext
1:
FileName :='\\ibasserver\ELOProf\Global\Postbox\'+Form2.Edit2.Text+'\'+ Zeit + '_' + inttostr(counter) +'.tif';					


Allerdings muss form2 bestehen zu dem zeitpunkt. Ansonsten machst du IN form 1 eine globale variable und usest die Fom1 in form2. und im onclose-Ereignis von form2 füllst du dann die globale variable in form1 mit dem inhalt des Editfeldes.

die übernimmst du dann so:

ausblenden Delphi-Quelltext
1:
FileName :='\\ibasserver\ELOProf\Global\Postbox\'+GlobaleVariable+'\'+ Zeit + '_' + inttostr(counter) +'.tif';					


Ich hoffe das war verständlich :-)

_________________
Solange die Bombe tickt ist alles in Ordnung, erst wenn sie damit aufhört wird es problematisch...
Erzengel Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 99

Win 2000, WinXP
Delphi 5 Enterprise
BeitragVerfasst: Mo 12.01.04 16:01 
Danke das funktionier auch ohne des uses.

habe bei mir nur die hochkomme vergessen 8('')
hatte es nur mit den ++ gemacht aber danke
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Mo 12.01.04 17:08 
Hi,
Erzengel hat folgendes geschrieben:
Danke das funktionier auch ohne des uses.

mit sicherheit nicht. Wahrscheinlich hat Delphi dir das nur schon netterweise eingetragen.

Aber weshalb ich eigentlich Posten wollte.

Mache bitte für neue Fragen auch ein neues Topic auf. Sonst wird das ganze zu unübersichtlich. Steht übrigens auch so in den Richtlinien ;).

Gruß
Klabautermann