Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Proceduren erstellen (https://www.delphipraxis.net/162439-proceduren-erstellen.html)

Marcel2906 23. Aug 2011 09:10

AW: Proceduren erstellen
 
Zitat:

Zitat von Luckie (Beitrag 1118817)
Nimm die Version von DeddyH, das ist die einzig sinnvolle.

Und eventuell wäre es sinnvoll, sich ein Grundlagentutorial mal anzugucken.

Hab ich mir angeguckt, aber irgendwie klappt das noch nicht so :(

DeddyH 23. Aug 2011 09:11

AW: Proceduren erstellen
 
Entweder
Delphi-Quellcode:
Form1.DoDelete;
oder wenn Du es aus einer Methode von Form1 aufrufst einfach
Delphi-Quellcode:
DoDelete;

Marcel2906 23. Aug 2011 09:14

AW: Proceduren erstellen
 
Danke, bin sogar 2 sekunden vorher selber drauf gekommen :oops:

himitsu 23. Aug 2011 09:33

AW: Proceduren erstellen
 
Und nun könnte man noch etwas gegen die vielen Globalen machen. :stupid:

Marcel2906 23. Aug 2011 09:43

AW: Proceduren erstellen
 
Kann ich jetzt meine Output Procedure auch mit einer Variable benutzen?
Ungefähr so (klappt leider nicht):

Code:
procedure TForm1.Output(g:integer);
   const
      MAX_TABS = 5;
      Tab = #9;
   var
      Tabulators: array[0..MAX_TABS] of Integer;

begin

//Tabulatorweiten festlegen
Tabulators[0] := 72;
Tabulators[1] := 136;
Tabulators[2] := 202;
Tabulators[3] := 1;
Tabulators[4] := 1;
ListBox1.TabWidth := 1;

//Tabulatoren setzen
SendMessage(ListBox1.Handle, LB_SETTABSTOPS, MAX_TABS, Longint(@Tabulators));

//ListBox leeren
ListBox1.clear;

//Liste ausgeben
f:=0;
 while ((f < length(Liste)) and (f<g)) do
  begin
   ListBox1.Items.Strings[f]:=' '+Liste[f].Linie
   + Tab +Liste[f].Ziel
   +Tab+Liste[f].Abfahrt+' Uhr'
   +Tab+IntToStr(Liste[f].Verspätung)+Tab+'Minuten';
   f:=f+1;
  end;
end;

DeddyH 23. Aug 2011 09:46

AW: Proceduren erstellen
 
Du meinst mit Parameter bzw. Argument? Natürlich, was klappt denn nicht? BTW: Dein Array ist 1 Element zu groß ;)

Marcel2906 23. Aug 2011 09:51

AW: Proceduren erstellen
 
Ich bekomme die Fehlermeldung:

Deklaration von 'Output' unterscheidet sich von vorheriger Deklaration

Code:
type
  TForm1 = class(TForm)
    ...
    procedure Output;
end;

...

procedure TForm1.Output(g:integer);
   const
      MAX_TABS = 5;
      Tab = #9;
   var
      Tabulators: array[0..MAX_TABS] of Integer;

begin

//Tabulatorweiten festlegen
Tabulators[0] := 72;
Tabulators[1] := 136;
Tabulators[2] := 202;
Tabulators[3] := 1;
Tabulators[4] := 1;
ListBox1.TabWidth := 1;

//Tabulatoren setzen
SendMessage(ListBox1.Handle, LB_SETTABSTOPS, MAX_TABS, Longint(@Tabulators));

//ListBox leeren
ListBox1.clear;

//Liste ausgeben
f:=0;
 while ((f < length(Liste)) and (f<g)) do
  begin
   ListBox1.Items.Strings[f]:=' '+Liste[f].Linie
   + Tab +Liste[f].Ziel
   +Tab+Liste[f].Abfahrt+' Uhr'
   +Tab+IntToStr(Liste[f].Verspätung)+Tab+'Minuten';
   f:=f+1;
  end;
end;

Luckie 23. Aug 2011 09:53

AW: Proceduren erstellen
 
Du hast es hier doch schon fast untereinander kopiert:
Delphi-Quellcode:
    procedure Output;
procedure TForm1.Output(g:integer);
Fällt dir was auf?

DeddyH 23. Aug 2011 09:54

AW: Proceduren erstellen
 
Du musst es auch gleich deklarieren.
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    ...
    procedure Output(g: integer);
end;

Marcel2906 23. Aug 2011 09:56

AW: Proceduren erstellen
 
Komisch, vorher hatte ich das so, aber hatte trotzdem eine Fehlermeldung. Nun klappt es...


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:47 Uhr.
Seite 2 von 3     12 3      

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