Mit einem Timer ?Und sobald die Main-App da ist wird ein Timer gestartet, dieser baut erst mal die Datenbankverbindung auf
Oder lässt du den Splash mit dem Timer laufen ?
Mit einem Timer ?Und sobald die Main-App da ist wird ein Timer gestartet, dieser baut erst mal die Datenbankverbindung auf
Ein Nachtrag, ror und rol ist in FPC eingebaut, dies lässt sich sogar für den Raspi kompilieren (Crosss-Compiler).Mathias hat geschrieben:Damit konnte ich das Bitschieben beschleunigen, aber wie du schon sagst, nicht auf ARM.Nur die ASM/Intel Direktive geht beim Raspi natürlich nicht, das ist ja ein ARM. Ich habe diese Zeile einfach auskommentiert.
Bei Intel gibt es den Rol und Ror Befehl, dieser ist fast gleich wie Shl und Shr, der Unterschied, das die Bits wie in einem Ring geschoben werden.
Dazu muss folgendes ersetzt werden.Code: Alles auswählen
asm rol bit, 1 end; // bit := (bit shl 1) or (bit shr 7);
Code: Alles auswählen
if rev then begin
bit := RolByte(bit);
// bit := bit shl 1;
if bit = 0 then begin
// bit := 1;
Inc(pz);
end;
end else begin
bit := RorByte(bit);
// bit := bit shr 1;
if bit = 0 then begin
// bit := 128;
Inc(pz);
end;
end;
Code: Alles auswählen
for i := 0 to 999 do begin // Als Test
with Image1.Picture.Bitmap do begin
for y := 0 to Height - 1 do begin
CopyLine(y);
end;
end;
end;
Ich hatte auch lieber rol und ror gehabt, so wie es mit shr und shl ist.Schön dass man Assembler Befehle auch direkt als Funktion nutzen kann![]()
Dies wird für pz gebraucht.Aber "IF bit = 0 Then ..." muss dann anders heißen, sonst stimmt das Ergebnis von Deinem Test nicht.
Code: Alles auswählen
if rev then begin
bit := RolByte(bit);
// bit := bit shl 1;
if bit = 1 then begin
// bit := 1;
Inc(pz);
end;
end else begin
bit := RorByte(bit);
// bit := bit shr 1;
if bit = 128 then begin
// bit := 128;
Inc(pz);
end;
end;