Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Fehler im Souce-Code
LittleBeer - Mi 03.07.02 15:54
Titel: Fehler im Souce-Code
hier ist meine unit und ich bekomme an den einigen stellen immer fehler meldungen:
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: 64: 65: 66: 67:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, jpeg, ExtCtrls;
type TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; Label1: TLabel; Button2: TButton; Image1: TImage; Image2: TImage; Image3: TImage; CheckBox1: TCheckBox; Label2: TLabel; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); function schleife(a:integer):integer; <------------ feher:ungenügende forward- oder external-deklaration:'Tform1.schleife'
private a:Integer;
{ Private-Deklarationen } public { Public-Deklarationen } end;
var Form1: TForm1;
implementation
uses Unit2;
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject); begin repeat button1.caption:= ('Noch mal !') ; edit1.text:=inttostr(a); schleife until <----------------hier felher:nicht genügend wirkliche parameter if checkbox1.Checked:=true a:=1; <------------nach dem a, ausdruckstyp muss boolean sein end; end;<--------------------nach dem ; ausdruckstyp muss boolean sein function schleife (a:integer):integer; begin edit1.Text:=inttostr(random(103)+1); end; end;
procedure TForm1.FormCreate(Sender: TObject); begin randomize end;
end. |
könnt ihr mir bei den felhern und ihrer behebung helfen? wär euch echt dankbar. sitze da schon voll lange dran, aber nichts geht :cry:
danke
gruß
Little
Code-Tag hinzugefügt und Title umbenannt. Marc
Chatfix - Mi 03.07.02 15:57
was soll denn das programm machen?
und wieso legst du die function schleife an? du hast gar keine deklaration für diese :?:
und nimm bitte treffendere titel deiner postings....
Klabautermann - Mi 03.07.02 16:01
Hi,
folgendes fehlt:
Quelltext
1: 2: 3: 4:
| function tForm1.schleife(a:integer):integer; begin [...] end; |
Gruß
Klabautermann
Chatfix - Mi 03.07.02 16:03
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: 64:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, jpeg, ExtCtrls;
type TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; Label1: TLabel; CheckBox1: TCheckBox; Label2: TLabel; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject);
private a:Integer;
{ Private-Deklarationen } public { Public-Deklarationen } end;
var Form1: TForm1;
implementation
uses Unit2;
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject); begin repeat button1.caption:= ('Noch mal !') ; edit1.text:=inttostr(a); schleife until {ABBRUCHBEDINGUNG FEHLT} if checkbox1.Checked:=true {THEN <--- Fehlt} a:=1; end;
function schleife (a:integer):integer; begin edit1.Text:=inttostr(random(103)+1); end; end;
procedure TForm1.FormCreate(Sender: TObject); begin randomize end;
end. |
hab dir die fehler in kommentare geschrieben, und unnötiges gelöscht... müsste funktionieren, habs aber nich getestet
LittleBeer - Mi 03.07.02 16:05
Titel: das prog
dsa prog soll die checkbox überprüfen. hier soll die checkbox, die zahl 1 darstellen. also wenn die checkbox aktiv ist, soll die random procedur noch mal starten. also ein ausschluss der zahl 1 soll vergenommen werden.
die funktion enthält die random funktion. ich wüsste nicht wie ich das sonst machen soll. und wie soll ich die deklarieren??? ich hab echt keinen plan mehr:(
Chatfix - Mi 03.07.02 16:09
schreib deine random-zeug in eine prozedur, weil eine funktion muss ein ergebnis zurückgeben, das ergebnis musst du in der schleife in der variable RESULT speichern
LittleBeer - Mi 03.07.02 16:12
Titel: danke
ok danke an alle die geantwortet haben. ich werde es mal versuchen
retnyg - Fr 05.07.02 01:18
Titel: Danke !
Danke LittleBeer, selten so gelacht ! ;-)
köstlich, der titel dieses thread !!!
den könnte man auf jedes programmierproblem dieser welt in jeglicher programmiersprache anwenden :)
Gruss Retnyg
Link entfernt. Tino
retnyg - Fr 05.07.02 01:26
Titel: Lösung
übrigens ich denke die Lösung deines Problems ist folgende:
Quelltext
1: 2: 3: 4:
| repeat button1.caption:= ('Noch mal !') ; edit1.text:=inttostr(a); schleife |
das hier sieht so aus wie'ne goto function von basic, das funktioniert aber so nicht.
du musst die deklaration von schleife entfernen, und folgende art und weise des repeat- statements verwenden:
Quelltext
1: 2: 3:
| repeat inc(a); until a = 30000; |
die hilfe zu dem repeat befehl kriegst du wenn du repeat irgendwo in den sourcecode schreibst, draufklickst und dann F1 drückst.
Code-Tags hinzugefügt. Tino
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!