Hallo!
Mal wieder eine dieser Ich-lerne-Delphi-in-der-Schule-Fragen , sorry erstmal dafür, doch ich interessiere mich sehr dafür aber mein Lehrer ist einfach nicht in der Lage, mir zu helfen o_O
Am besten erstmal den Code. Ich will Primzahlen berechnen (bitte erschlagt mich nicht wegen der GoTo-Anweisung, die kenn ich aus C++ und hab das mal probiert... bzw es probiert, es zu probieren -,- )
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
label GotoAnfang;
begin
g:=StrToInt(Edit1.Text);
h:=StrToInt(Edit2.Text);
Label1.Caption:='';
// ToDo: maximal durch hälfte teilen, da anschließend immer Rest vorhanden
// halb:=(h/2);
// halb2:=(round(halb));
GotoAnfang: //Anfangspunkt
for a:=g to h do
begin //jetzt alle Zahlen rauswerfen, die mit 0,2,4,5,6,8 enden, da sowieso keine Primzahlen
if RightStr(g,1)=2 or RightStr(g,1)=4 or RightStr(g,1)=5 or RightStr(g,1)=6 or RightStr(g,1)=8 or RightStr(g,1)=0
then goto GotoAnfang;
for b:=1 to h do
begin
x:=a mod b;
if x=0 then y:=y+1
end;
if y=2 then Label1.caption:=label1.caption+chr(13)+IntToStr(a);
y:=0 ;
b:=0 ;
end;
end;
Dazu sagt der Compiler:
[Fehler] Unit1.pas(48): Es gibt keine überladene Version von 'RightStr', die man mit diesen Argumenten aufrufen kann
und in den Uses (keine Ahnung, ob das richtig ist)
Delphi-Quellcode:
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
function RightStr(const AText: AnsiString; const ACount: Integer): AnsiString; overload;
function RightStr(const AText: WideString; const ACount: Integer): WideString; overload;
Der Compiler sagt mir in Zeile 8 bei den Uses:
[Fehler] Unit1.pas(8): Ungenügende Forward- oder External-Deklaration: 'RightStr'
Ehrlich gesagt: Ich versteh kein Wort und brauche eure Hilfe!
MfG
Headshot037