Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Label zur laufzeit erzeugen (https://www.delphipraxis.net/57133-label-zur-laufzeit-erzeugen.html)

Tigermoon 16. Nov 2005 11:13


Label zur laufzeit erzeugen
 
habe label zur laufzeit erstellt
wo ist da der fehler

Delphi-Quellcode:
....
var
  FMain: TFMain;
  my_File: TStringList;

  LDatum_out, LHandling_out, Lcodeletter_out, Lreturncode_out: array[1..10] of TLabel;

implementation
....
Delphi-Quellcode:
procedure TFMain.FormCreate(Sender: TObject);
var
zaehlen:integer;
begin
  while zaehlen <= 10 do
  begin
     Ldatum_out[zaehlen] := TLabel.Create(fMain);
     Ldatum_out[zaehlen].Parent := fmain;

     LHandling_out[zaehlen] := TLabel.Create(fMain);
     LHandling_out[zaehlen].Parent := fmain;

     Lcodeletter_out[zaehlen] := TLabel.Create(fMain);
     Lcodeletter_out[zaehlen].Parent := fmain;

     Lreturncode_out[zaehlen] := TLabel.Create(fMain);
     Lreturncode_out[zaehlen].Parent := fmain;

zaehlen := zaehlen +1;
  end;
end;
Delphi-Quellcode:
procedure TFMain.ISearchClick(Sender: TObject);
begin
  Datei_durchsuchen;
end;    <-- hier zeigt er ihn an
Delphi-Quellcode:
procedure TFMain.Datei_durchsuchen;
var
  zaehlen, top:integer;
  index_of_user, begin_user, user_time,code_letter,return_code: integer;
begin

  zaehlen := 1;
  top := 60;

  while zaehlen <= 10 do
  begin
 
      if my_file.IndexOf('java.lang.String userName="'+EUsername.Text+'",') <> -1 then
      begin

      index_of_user := my_file.IndexOf('java.lang.String userName="'+EUsername.Text+'",');
     
      user_time := index_of_user - 32;
      begin_user := index_of_user - 3;
      code_letter := index_of_user + 36;
      return_code := index_of_user + 37;

      my_file.Strings[begin_user];

      Ldatum_out[zaehlen].Caption := inttostr(user_time);
      Ldatum_out[zaehlen].Top := top;

      LHandling_out[zaehlen].caption := inttostr(begin_user);
      LHandling_out[zaehlen].top := top;

      Lcodeletter_out[zaehlen].Caption := inttostr(code_letter);
      Lcodeletter_out[zaehlen].top := top;

      Lreturncode_out[zaehlen].Caption := inttostr(return_code);
      Lreturncode_out[zaehlen].top := top;
     
      end;
    zaehlen := zaehlen + 1;
    top := top + 20;

  end;

end;

rwachtel 16. Nov 2005 11:17

Re: was ist daran falsch
 
Wo ist die Frage?

Ultimator 16. Nov 2005 11:19

Re: was ist daran falsch
 
Das ist sehr interessant, Tigermoon.
Was willst du von uns?

Ach ja, änder bitte den Titel.

Auf den ersten Blick:
Was soll
Delphi-Quellcode:
my_file.Strings[begin_user];
machen :?:

Du weist nichts zu, zu zeigst nicht an, gar nichts.

Robert Marquardt 16. Nov 2005 11:40

Re: was ist daran falsch
 
Der Gebrauch der for-Schleife sollte erlernt werden.
Delphi-Quellcode:
procedure TFMain.FormCreate(Sender: TObject);
var
zaehlen:integer;
begin
  // Hier wird "zaehlen" nicht initialisiert und enthaelt daher einen Zufallswert
  while zaehlen <= 10 do
  begin
     Ldatum_out[zaehlen] := TLabel.Create(fMain);
     Ldatum_out[zaehlen].Parent := fmain;

     LHandling_out[zaehlen] := TLabel.Create(fMain);
     LHandling_out[zaehlen].Parent := fmain;

     Lcodeletter_out[zaehlen] := TLabel.Create(fMain);
     Lcodeletter_out[zaehlen].Parent := fmain;

     Lreturncode_out[zaehlen] := TLabel.Create(fMain);
     Lreturncode_out[zaehlen].Parent := fmain;

     zaehlen := zaehlen +1;
  end;
end;
Besser
Delphi-Quellcode:
procedure TFMain.FormCreate(Sender: TObject);
var
zaehlen:integer;
begin
  for zaehlen := 1 to 10 do
  begin
     Ldatum_out[zaehlen] := TLabel.Create(fMain);
     Ldatum_out[zaehlen].Parent := fmain;

     LHandling_out[zaehlen] := TLabel.Create(fMain);
     LHandling_out[zaehlen].Parent := fmain;

     Lcodeletter_out[zaehlen] := TLabel.Create(fMain);
     Lcodeletter_out[zaehlen].Parent := fmain;

     Lreturncode_out[zaehlen] := TLabel.Create(fMain);
     Lreturncode_out[zaehlen].Parent := fmain;
  end;
end;

Tigermoon 16. Nov 2005 12:03

Re: was ist daran falsch
 
sorry schon ok

habe es anders gemacht

tigerman33 16. Nov 2005 12:23

Re: Label zur laufzeit erzeugen
 
Schließen wir einen Deal: Du sagst uns, was der Fehler eigentlich ist, und wir sagen dir, wo er herkommt.

Tigermoon 16. Nov 2005 12:58

Re: Label zur laufzeit erzeugen
 
habe oben ein <--- hier reingemacht

Ultimator 16. Nov 2005 13:01

Re: Label zur laufzeit erzeugen
 
Zitat:

Zitat von Tigermoon
habe oben ein <--- hier reingemacht

In welcher Fehlermeldung resultiert "ihn"?

tigerman33 16. Nov 2005 13:03

Re: Label zur laufzeit erzeugen
 
Und was ist ihn? Ja der Fehler, ich weiß, aber z.B. was für eine Fehlermeldung kommt überhaupt?
Und ist das ein Compilerfehler, oder eine exception, oder was? Lass dir doch nicht alles einzeln aus der Nase ziehen.

Tigermoon 16. Nov 2005 13:07

Re: Label zur laufzeit erzeugen
 
fehler an adresse 0000048 und er zeigt dort hin

sorry das wars


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:19 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