Autor Beitrag
Krumnix
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 60

Win98,2000,XP
Delphi 7 Enterprise
BeitragVerfasst: Mo 07.03.05 15:36 
Hallo.

Irgendwie versteh ich das nicht.
Folgendes:
Wenn ich in meinem Programm ein neues Form aufrufe dann verschwindet seit kurzem Text in FormX.Caption also die Benennung des Fenster.
Folgender Programmcode wurde neu reingestellt in FormActivate:

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
 j := 0;
 p := 0;
 AnfangText := 1;
 Text := '';
 GetDir(0,F1);
 if FileExists(F1 + '\DATEN\Histo\kk' + inttostr(Kunde[AktuellerKunde].Kundennummer) + '.dfs'then
  begin
   AssignFile(F, F1 + '\DATEN\Histo\kk' + inttostr(Kunde[AktuellerKunde].Kundennummer) + '.dfs');
   Reset(F);
   while not Eof(F) do
    begin
     Readln(F, S);
     if j > 0 then
      begin
       if j <= AnzahlKunden then
        begin
         for r := 1 to length(S) do
          begin
           if S[r] = ';' then
            begin
             case p of
             0begin
                 for t := AnfangText to r - 1 do
                  Text := (Text + s[t]);
                 SchuhNR := Text;
                 p := 1;
                 Text := '';
                 AnfangText := r + 1;
                end;
             1begin
                 p := 2;
                 Text := '';
                 AnfangText := r + 1;
                end;
             2begin
                 p := 3;
                 Text := '';
                 AnfangText := r + 1;
                end;
             3begin
                 for t := AnfangText to r - 1 do
                  Text := (Text + s[t]);
                 if SchuhNR = '1' then Label54.Caption := Text;
                 if SchuhNR = '2' then Label56.Caption := Text;
                 if SchuhNR = '3' then Label58.Caption := Text;
                 p := 4;
                 Text := '';
                 AnfangText := r + 1;
                end;
             end;
            end;
          end;
        end;
       p := 0;
       AnfangText := 1;
       SchuhNR := '0';
      end;
     j := j + 1;
    end;
   CloseFile(F);
  end;


Wenn ich nun auf die Buttons drücke, die auch diesen Code seit neustem drin haben, dann erscheint oben in der Leiste des Fenster immer so kryptische Zeichen und dann sind sie auch wieder weg.
Kann sich das jemand erkläre?

PS: Die Daten liegen vom Kunden als CSV-Datei vor, deswegen diese komplizierte Struktur *g*
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Mo 07.03.05 15:42 
wundert mich nicht dass du dich bei der formatierung in deinem eigenen source nicht mehr auskennst !

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
Karlson
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 2088



BeitragVerfasst: Mo 07.03.05 15:43 
was ist an der Formatierung denn auszusetzen? :?!?:
Krumnix Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 60

Win98,2000,XP
Delphi 7 Enterprise
BeitragVerfasst: Mo 07.03.05 18:07 
Also die Formatierung ist doch übersichtlich :shock:
Ich will halt nur wissen, warum in der Titel-Leiste immer der Text, denn ich festgelegt habe weg ist, wenn ich dieses Form öffne und warum es manchmal in dieser so komisch flackert..... :(
wdbee
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 628
Erhaltene Danke: 1



BeitragVerfasst: Mo 07.03.05 18:12 
Die Titelzeile ist TDeinForm.Caption. Wenn du nun irgendwo in einer TDeinForm-Methode Caption := Aktuelle Zeile stehen hast statt StatusLabel.Caption := Aktuelle Zeile, dann hast du genau diesen Effekt. Ich habe das in dem hier angegebenen Teil deines Codes nicht gesehen, aber kontrollier das mal.
Krumnix Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 60

Win98,2000,XP
Delphi 7 Enterprise
BeitragVerfasst: Mo 07.03.05 18:23 
Hab ich mal grad geschaut. Ist nix drin. Es war ja auch vorher nicht. Erst als ich diesen Teil, den ich da oben gepostet habe, ist dieser Fehler entstanden. Der ist zwar nicht schlimm und es stört niemanden. Aber ich würde gerne wissen, wieso?
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 07.03.05 18:25 
ausblenden Delphi-Quelltext
1:
2:
GetDir(0,F1);  
 if FileExists(F1 + '\DATEN\Histo\kk' + inttostr(Kunde[AktuellerKunde].Kundennummer) + '.dfs'then

Ein mal einen Öffnen- oder Speichern-Dialog oder ein anderes Arbeitsverzeichnis in der Verknüpfung angegeben und er wird die Dateien nicht mehr finden, denn das aktuelle Verzeichnis muss nicht zwingend das Verzeichnis der Exe sein.
Krumnix Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 60

Win98,2000,XP
Delphi 7 Enterprise
BeitragVerfasst: Mo 07.03.05 18:29 
Ja, die EXE liegt immer im Hautpverzeichnis. Und die anderen Daten in Unterordner. Die werden vom Benutzer sowieso nicht verändert. Deswegen hab ich das so gemacht. Oder gibs da ne andere Möglichkeit den Dateipfad anzugeben, wenn ich das Ding nachher per Installation auf die verschiedenen Rechner übertrage und er nie weiß in welchen Verzeichnis er dann ist? Aber das ist doch nicht das Problem mit dem ich kämpfe....
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 07.03.05 18:34 
user profile iconKrumnix hat folgendes geschrieben:
Ja, die EXE liegt immer im Hautpverzeichnis. Und die anderen Daten in Unterordner. Die werden vom Benutzer sowieso nicht verändert.

Was macht dich da so sicher?

Zitat:

Deswegen hab ich das so gemacht. Oder gibs da ne andere Möglichkeit den Dateipfad anzugeben, wenn ich das Ding nachher per Installation auf die verschiedenen Rechner übertrage und er nie weiß in welchen Verzeichnis er dann ist?

ParamStr(0) liefert dir das Verzeichnis un den Exe-Namen deiner anwendung.

Zitat:

Aber das ist doch nicht das Problem mit dem ich kämpfe....

Stimmt, aber ich wollte es trotzdem mal erwähnen um dir späteren Ärger zu ersparen.
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mo 07.03.05 18:34 
Hallo!

user profile iconKrumnix hat folgendes geschrieben:
Ja, die EXE liegt immer im Hautpverzeichnis. Und die anderen Daten in Unterordner. Die werden vom Benutzer sowieso nicht verändert.

Da hast du was falsch verstanden. Es geht hier um das Arbeitsverzeichnis. Wenn Du mit GetDir das Arbeitsverzeichnis holst und versuchts damit die Dateien zu öffnen kann das, aus den von Luckie genannten Gründen, auch schon mal schief gehen. Was du brauchst ist das Anwendungsverzeichnis und nicht das Arbeitsverzeichnis:

ausblenden Delphi-Quelltext
1:
f1 := ExtractFilePath(Application.ExeName);					


Gruß
Tino
Krumnix Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 60

Win98,2000,XP
Delphi 7 Enterprise
BeitragVerfasst: Mo 07.03.05 18:40 
Axo.... *vomschlauchaufsteh*
Jedoch sollte das mein anderes Problem nicht lösen. Denn es ist immer noch da :(
wdbee
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 628
Erhaltene Danke: 1



BeitragVerfasst: Mo 07.03.05 18:49 
Sorry, aber du verwendest wohl eine nicht deklarierte Variable. Lass mich raten: Sie heißt Text?
Krumnix Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 60

Win98,2000,XP
Delphi 7 Enterprise
BeitragVerfasst: Mo 07.03.05 19:37 
Ne. Wenn ich ja nicht deklariert hätte oder was vergessen, dann würde der Compiler ja was sagen. Aber das Prog. läuft ja. Und es ist nicht schlimm. Es stört halt nur, weil man nicht genau weiß in welchem Fenster man ist, wenn man das Programm nicht kennt.
wdbee
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 628
Erhaltene Danke: 1



BeitragVerfasst: Mo 07.03.05 19:45 
Text ist in einer TForm-Methode ein anderer Name für TForm.Caption. :!:
Da kommt nie eine Fehlermeldung.
Krumnix Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 60

Win98,2000,XP
Delphi 7 Enterprise
BeitragVerfasst: Mo 07.03.05 20:12 
:shock: Ups, das hab ich nicht gewusst. Und es funktioniert.... Wahnsinn.... Ich danke dir :D