Autor |
Beitrag |
omega1979
Hält's aus hier
Beiträge: 4
|
Verfasst: Sa 08.05.04 14:22
Hallo zusammen!
Habe folgendes Problem:
In einer Listbox sollen Ereignisse (Art) angezeigt werden, wenn z.B. geklickt wird und als Caption die Anzahl (Summe) der Ereignisse!
Bislang habe ich folgendes programmiert; es kommt allerdings die Meldung, daß zuviele Paramter vorhanden seien:
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:
| procedure TForm1.formclick(Sender: TObject); procedure up_click; const i:integer=0; begin inc(i); Ausgabe('onclick',i); <---- an dieser Stelle muckiert, wo ja eigentlich die Prozedur an eine andere übergeben werden soll!!! end; begin caption:='onclick'; end;
procedure Ausgabe(Ereignis,ereignis_alt: String; var anzahl,zaehler:integer); begin inc (zaehler); zaehler:=strtoint(inttostr(0)); form1.caption:=inttostr(zaehler); with form1.listbox1.items do if ereignis <> ereignis_alt then add('onclick');
end. |
Danke im Voraus!
Moderiert von Peter Lustig (14:26, 08.05.2004): Delphi-Tags hinzugefügt
|
|
GSE
      
Beiträge: 740
Win 2k, Win XP Pro
D5 Prof, D6 Ent, D2k5 PE
|
Verfasst: Sa 08.05.04 15:00
Haut mich wenns falsch ist, aber deine Prozedur ist mit
Delphi-Quelltext 1:
| procedure Ausgabe(Ereignis,ereignis_alt: String; var anzahl,zaehler:integer); |
definiert du übergibst aber nur 2 Parameter?
mfg
GSE
_________________ Programming today is a race between software engineers striving to build bigger and better idiot-proof programs
and the universe trying to produce bigger and better idiots. So far, the universe is winning. (Richard Cook)
|
|
Jetstream
      
Beiträge: 222
|
Verfasst: So 09.05.04 22:12
Ich wunder mich grad über die erste zeile der prozedur
Bei dir steht:
procedure Ausgabe(Ereignis,ereignis_alt: String; var anzahl,zaehler:integer);
wie wärs damit:
procedure Ausgabe(Ereignis,ereignis_alt: String;) var anzahl,zaehler:integer;
|
|
GSE
      
Beiträge: 740
Win 2k, Win XP Pro
D5 Prof, D6 Ent, D2k5 PE
|
Verfasst: So 09.05.04 22:24
Jetstream hat folgendes geschrieben: | Ich wunder mich grad über die erste zeile der prozedur |
Hab ich das nicht gesagt? (gemeint hab ichs auf jeden Fall)
mfg
GSE
_________________ Programming today is a race between software engineers striving to build bigger and better idiot-proof programs
and the universe trying to produce bigger and better idiots. So far, the universe is winning. (Richard Cook)
|
|
omega1979 
Hält's aus hier
Beiträge: 4
|
Verfasst: Di 11.05.04 18:19
Also ich habe das jetzt mal so ausprobiert, wie ihr das beschrieben habt. Er kommt aber trotzdem mit 'ner Fehlermeldung und zwar an der schon beschriebenen Stelle!!!
[Fehler] Projekt_Listbox2.pas(39): Zu viele Parameter
Laut Delphi Hilfe sollte vorherige Variante aber auch gehen.
Probleme hat er immer mit den Paramteren!
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Di 11.05.04 18:23
Man kann Dir nicht helfen, wenn Du nicht zeigst, wie Dein Quelltext jetzt aussieht.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
omega1979 
Hält's aus hier
Beiträge: 4
|
Verfasst: Di 11.05.04 18:27
Der Quelltext steht doch ganz oben im ersten Posting!!!
Aber hier nochmal:
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: 62: 63:
| unit Projekt_Listbox2;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) ListBox1: TListBox; Button1: TButton; procedure Button1Click(Sender: TObject); procedure formclick(Sender: TObject); procedure ausgabe(); private public end;
var Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject); begin close end;
procedure TForm1.formclick(Sender: TObject); procedure up_click; const i:integer=0; begin inc(i); Ausgabe('formclick',i); end; begin caption:='onclick'; end;
procedure Ausgabe(Ereignis,ereignis_alt: String;); var anzahl,zaehler:integer); begin inc (zaehler); zaehler:=strtoint(inttostr(0)); form1.caption:=inttostr(zaehler); with form1.listbox1.items do if ereignis <> ereignis_alt then add('onclick');
end. |
Moderiert von Peter Lustig: Delphi-Tags
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Di 11.05.04 18:32
Wie kann das denn der selbe Quelltext sein, wenn Du die Anregungen, welche Du hier bekommen hast, verarbeitet hast 
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
omega1979 
Hält's aus hier
Beiträge: 4
|
Verfasst: Di 11.05.04 18:37
Ich weiß nicht, ob das jetzt Wortspielerei ist. Fakt ist eins:
Die eine Variante, die vorgeschlagen wurde, daß die abschließende Klammer noch gesetzt wurde, hat nicht den Erfolg gebracht.
(Unabhängig davon kann lt. Delphi-Hilfe dies auch so in den Quelltext geschrieben werden.) Ergo zeigt er mir in beiden Fällen diesselbe Fehlermeldung an!
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Di 11.05.04 18:47
Aber Du hättest doch auch mal selbst probieren können!
Die Aussagen der beiden ersten Leute, die Dir geantwortet haben, sind ja im Kern richtig: Du kannst keine Porzedur, die vier Parameter erwartet, mit zweien starten! Das wäre so, als würdest Du bei Deiner Handy-PIN nur zwei von vier Ziffern eingeben.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
raziel
      
Beiträge: 2453
Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
|
Verfasst: Di 11.05.04 19:39
kann man aber! aber nur wenn man im prozedurheader standardwerte definiert.
da du aber parameter übergeben willst, die mit var gekennzeichnet werden, dann geht das natürlich nicht!
warum beidir immer noch ein fehler kommt?
weil da ein paar mächtig dicke hämmer drin sin.
1. i ist eine constante und gleich 0. inc(i) müsste schon eine zugriffsfehler oder sowas in der art geben!!
2. integer <> string. du übergibst einen parameter als integer, der eigentlich ein string sein müsste!!
raziel
_________________ JSXGraph
|
|