Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Problem: Ereigniszähler in Listbox und Caption
omega1979 - Sa 08.05.04 14:22
Titel: Problem: Ereigniszähler in Listbox und Caption
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 - 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
Jetstream - 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 - 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
omega1979 - 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. - Di 11.05.04 18:23
Man kann Dir nicht helfen, wenn Du nicht zeigst, wie Dein Quelltext jetzt aussieht.
omega1979 - Di 11.05.04 18:27
Der Quelltext steht doch ganz oben im ersten Posting!!!
Aber hier nochmal:
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: 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. - 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 :?:
omega1979 - 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. - 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.
raziel - 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
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!