![]() |
Label grün einfärben wenn platine verbunden, sonst rot
so das mit den eingängen hat sich nun erledigt, funktioniert soweit.
dann habe ich das ganze programm noch ein bisschen grafisch verändert, doch eins bekomme ich nicht hin. wenn das gerät verbunden ist, dann will ich dass das label wo: Card 3 connected drinenn steht GRÜN wird, wenns nicht connected ist dann soll das label ROT werden. hier der text zum connecten an die platine:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var h,CardAddr:longint; begin CardAddr:=3; h:= OpenDevice(CardAddr); case h of 0..3: label1.caption:='Card '+ inttostr(h)+' connected'; -1: label1.caption:='Card '+ inttostr(CardAddr)+' not found'; end; wie ich das label selber färben kann weis ich, nur ich bekomme die bedingung nicht hin, also quasi WENN verbunden, DANN grün, ansonsten rot weis jemand ne schnelle lösung, bin eben nochn ziemlicher anfänger in delphi und darum für jede hilfe dankbar Stupid |
Re: USB K8055 Platine (Eingänge in Edit1 ausgeben)
Herzlich willkommen in der Delphi-PRAXiS, OverClocker.
Die Bits kannst du so einlesen und darstellen:
Delphi-Quellcode:
Natürlich kannst du die einzelnen Bits auch getrennt darstellen.
const
MAX_CHANNEL = 5; var s: String[MAX_CHANNEL]; i: Integer; begin for i := 1 to MAX_CHANNEL do s[i] := Chr(Ord('0') + Ord(ReadDigitalChannel(i))); Edit.Text := s; end; Freundliche Grüße vom marabu |
Re: USB K8055 Platine (Eingänge in Edit1 ausgeben)
Delphi-Quellcode:
das heißt ich müsste, wenn mein edit fehlt EDIT1 heißt an diese stelle
const
MAX_CHANNEL = 5; var s: String[MAX_CHANNEL]; i: Integer; begin for i := 1 to MAX_CHANNEL do s[i] := Chr(Ord('0') + Ord(ReadDigitalChannel(i))); Edit.Text := s; end; Edit.Text := s; Edit1.Text := s; schreiben oder? |
Re: USB K8055 Platine (Eingänge in Edit1 ausgeben)
Wenn du wirklich jedes einzelne Bit in einem dedizierten Edit-Control anzeigen möchtest, dann geht das etwa so:
Delphi-Quellcode:
Voraussetzung ist, dass der Code Teil einer Methode der Form ist, welche die Edit-Controls verwaltet.
const
MAX_CHANNEL = 5; var i: Integer; begin for i := 1 to MAX_CHANNEL do with FindComponent(Format('Edit%d', [i])) as TEdit do Text := Chr(Ord('0') + Ord(ReadDigitalChannel(i))); end; Getippt und nicht getestet. Freundliche Grüße |
Re: USB K8055 Platine (Eingänge in Edit1 ausgeben)
naja mein ziel ist es, die 5 eingänge jeweils in 5 edit felder ausgeben lassen, d. h. es gibt 5 edit feler (edit1, edit2, edit3, edit4, edit5) und in jedem soll ein eingang ausgegeben werden, d. h. eingang 1 soll in edit 1 ausgeben werden usw.
|
Re: USB K8055 Platine (Eingänge in Edit1 ausgeben)
@marabu
DANKE FÜR DEINE HILFE :mrgreen: :mrgreen: :mrgreen: :mrgreen: funktioniert super, jetz kann ich wieder an meinem projekt weiter arbeiten und wenn ich wieder ne frage habe komme ich wieder auf dieses tolle forum hier zurück ;) big thx |
Re: USB K8055 Platine (Eingänge in Edit1 ausgeben)
so das mit den eingängen hat sich nun erledigt, funktioniert soweit.
dann habe ich das ganze programm noch ein bisschen grafisch verändert, doch eins bekomme ich nicht hin. wenn das gerät verbunden ist, dann will ich dass das label wo: Card 3 connected drinenn steht GRÜN wird, wenns nicht connected ist dann soll das label ROT werden. hier der text zum connecten an die platine:
Delphi-Quellcode:
wie ich das label selber färben kann weis ich, nur ich bekomme die bedingung nicht hin, also quasi WENN verbunden, DANN grün, ansonsten rot
procedure TForm1.Button1Click(Sender: TObject);
var h,CardAddr:longint; begin CardAddr:=3; h:= OpenDevice(CardAddr); case h of 0..3: label1.caption:='Card '+ inttostr(h)+' connected'; -1: label1.caption:='Card '+ inttostr(CardAddr)+' not found'; end; weis jemand ne schnelle lösung, bin eben nochn ziemlicher anfänger in delphi und darum für jede hilfe dankbar :stupid: |
Re: Label grün einfärben wenn platine verbunden, sonst rot
abgesehen davon, dass man bei einer neuen frage einen neuen thread öffnet, kannst du doch einfach zu deiner case-of anweisung den farbumschwung mit einfassen
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var h,CardAddr:longint; begin CardAddr:=3; h:= OpenDevice(CardAddr); case h of 0..3: begin label1.caption:='Card '+ inttostr(h)+' connected'; label1.Font.Color:=ClLime; end; -1: begin label1.caption:='Card '+ inttostr(CardAddr)+' not found'; label1.Font.Color:=ClRed; end; end; end; |
Re: Label grün einfärben wenn platine verbunden, sonst rot
Ich hatte gerade ein Déjàlu...
Wie wäre es mit...
Delphi-Quellcode:
if h in [0..3] then
begin labelX.Caption:='Card '+ inttostr(CardAddr)+' connected'; labelX.Color := clGrün; end else begin labelX.Caption:='Card '+ inttostr(CardAddr)+' not connected'; labelX.Color := clRed; end; |
Re: Label grün einfärben wenn platine verbunden, sonst rot
hey,
danke für eure schnelle hilfe, und schon bin ich wieder ein stück schlauer :) und wegen dem thread, dachte sonst wird das forum wegen meinen vielen fragen zu schnell voll gespamed :roll: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz