Hallo liebe Community...
Ich versuche derzeit einen Logic Analyzer zu bauen... Hardware läuft nun alles jetzt ist die Software dran.
Ich habe bereits ein laufendes Programm mit demo daten befüllt... Siehe Anhang nr1
Ziel ist dieses Programm.
Mein problem ist, das ich bei der Version 1 leider nicht sauber programmiert habe und nun alle Zeitangaben Fix sind und
sich da nix ändern lässt.
Also habe ich bei Version 2 welche nun die Hardware Integriert neu begonnen.
Ich zeichne meine Linien wie folgt:
Delphi-Quellcode:
procedure TForm1.draw_raw_data(drawspace:TImage;color:TColor);
var
counter:integer;
vorheriges_x,aktuelle_flanke:integer;
begin
counter := 1;
repeat
if (data[counter+1] <= stop) and (data[counter+1] >= start) then
begin
draw_up(drawspace,clBlack,(data[counter+1] div ein_pixel));
if aktuelle_flanke = 1 then draw_line(drawspace,color,vorheriges_x,data[counter+1] div ein_pixel,5);
if aktuelle_flanke = 0 then draw_line(drawspace,color,vorheriges_x,data[counter+1] div ein_pixel,25);
aktuelle_flanke := data[counter];
vorheriges_x := data[counter+1] div ein_pixel;
end;
counter := counter + 2;
until data[counter] = 748575;
if aktuelle_flanke = 1 then draw_line(drawspace,color,vorheriges_x,gesamt_einheit div ein_pixel,5);
if aktuelle_flanke = 0 then draw_line(drawspace,color,vorheriges_x,gesamt_einheit div ein_pixel,25);
end;
Ich zeichne auf ein image (drawspace) die gesamt_einheit enspricht hier 50000
ein_pixel rechnet sich gesamt_einheit / image.widht
draw_up zeichnet mir einen senkrechten strich
Meine Frage nun:
Wie kann ich ein verschieben der Anzeige realisieren wie es in Anhang 1 der fall ist wenn man die scrollbars
betätigt (den unteren scrollbar hab ich bereits hinbekommen).
Danke schonmal