Andrewi hat geschrieben:der Code lief bisher fehlerfrei und wurde auch nicht verändert.
Andrewi hat geschrieben:Es wurde dann eine weitere Prozedur dem Programm hinzugefügt, die jedoch nichts mit dem betroffenen Programmteil zu tun hat und weder wird aus der neuen Prozedeur zugegriffen noch greift der alte Code auf den neuen zu.
procedure TForm1.BitBtn1Click(Sender: TObject);
var
i: ShortInt;
buses,
bvar: boolean;
begin
Memo2.Lines.Clear;
buses := FALSE;
bvar := FALSE;
for i := 0 to Memo1.Lines.Count-1 do {..Count = 1578 # hier bricht die Schleife nach nach 42 Durchläufen ab}
begin
if pos('uses', Memo1.Lines[i]) <> 0 then
buses := TRUE;
if buses and not (Memo1.Lines[i] = '') then
begin
Memo2.Lines.Add(Copy(Memo1.Lines[i],0,Length(Memo1.Lines[i])));
if pos(';',Memo1.Lines[i]) <> 0 then
begin
buses := FALSE;
Memo2.Lines.Add('');
end;
end;
if (pos('var', Memo1.Lines[i]) <> 0) and (Length(Memo1.Lines[i]) = 3)then
bvar := TRUE;
if bvar and not (Memo1.Lines[i] = '') then
begin
Memo2.Lines.Add(Copy(Memo1.Lines[i],0,Length(Memo1.Lines[i])));
if (pos(';',Memo1.Lines[i]) <> 0) and ((Memo1.Lines[i+1] = '') or (Memo1.Lines[i+1] = 'begin')) then
bvar := FALSE;
end;
if pos('* ',Memo1.Lines[i]) = 1 then
begin
Memo2.Lines.Add(Copy(Memo1.Lines[i],Pos('* ',Memo1.Lines[i])+2,(Length(Memo1.Lines[i]))-Pos('* ',Memo1.Lines[i])));
end
else
begin
if (pos('**',Memo1.Lines[i]) <> 0) and (i <> 0) then
begin
Memo2.Lines.Add('');
end;
end;
end;
ShowMessage(IntToStr(i) + ' von ' + IntToStr(Memo1.Lines.Count-1)); {Meldung: 42 von 1578}
ShowMessage('Fertig');
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i: Shortint;
begin
for i := 0 to Memo1.Lines.Count-1 do
begin
ShowMessage(IntToStr(Memo1.Lines.Count-1));
if i = Memo1.Lines.Count-1 then
ShowMessage(IntToStr(i) + ' von ' + IntToStr(Memo1.Lines.Count-1));
end;
end;
siro hat geschrieben:Wenn das tatsächlich mal funktioniert hat, dann stand da evtl. irgendwo folgende Zeile, dann geht es nämlich wieder...
Type ShortInt = Integer;
Mathias hat geschrieben:Was ich mir angewöhnt habe, wen es wichtig ist, wie ein Integer aussieht, dann deklariere ich mit int8, uint8, int16, uint16, etc.
wp_xyz hat geschrieben:Hoffentlich versteht Andrewi das jetzt nicht so, dass er so eine Schweinerei in seinen Source-Code schreiben soll.
Type U8 = Byte; { unsigned 8 Bit }
Type S8 = ShortInt; { signed 8 Bit }
Type U16 = Word; { unsigned 16 Bit }
Type S16 = SmallInt; { signed 16 Bit }
Type U32 = LongWord; { unsigned 32 Bit }
Type S32 = LongInt; { signed 32 Bit }
Type U64 = QWord; { unsigned 64 Bit }
Type S64 = Int64; { signed 64 Bit }
Type F32 = Single; { Floatingpoint 32 Bit }
Type F64 = Double; { Floatingpoint 64 Bit }
Type BOOL = Boolean;
siro hat geschrieben:Ich habe mir meine eigenen Datentypen gemacht, sicherlich nicht jedermanns Geschmack,
aber ich kann meinen Code dadurch wesentlich besser lesen und dokumentieren.
Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste