AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Label grün einfärben wenn platine verbunden, sonst rot
Thema durchsuchen
Ansicht
Themen-Optionen

Label grün einfärben wenn platine verbunden, sonst rot

Ein Thema von Overclocker · begonnen am 10. Jan 2007 · letzter Beitrag vom 11. Jan 2007
Antwort Antwort
Seite 1 von 2  1 2      
Overclocker

Registriert seit: 10. Jan 2007
215 Beiträge
 
#1

Label grün einfärben wenn platine verbunden, sonst rot

  Alt 10. Jan 2007, 21:17
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
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: USB K8055 Platine (Eingänge in Edit1 ausgeben)

  Alt 11. Jan 2007, 09:13
Herzlich willkommen in der Delphi-PRAXiS, OverClocker.

Die Bits kannst du so einlesen und darstellen:

Delphi-Quellcode:
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;
Natürlich kannst du die einzelnen Bits auch getrennt darstellen.

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
Overclocker

Registriert seit: 10. Jan 2007
215 Beiträge
 
#3

Re: USB K8055 Platine (Eingänge in Edit1 ausgeben)

  Alt 11. Jan 2007, 11:02
Delphi-Quellcode:
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;
das heißt ich müsste, wenn mein edit fehlt EDIT1 heißt an diese stelle

Edit.Text := s;

Edit1.Text := s;

schreiben oder?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: USB K8055 Platine (Eingänge in Edit1 ausgeben)

  Alt 11. Jan 2007, 11:10
Wenn du wirklich jedes einzelne Bit in einem dedizierten Edit-Control anzeigen möchtest, dann geht das etwa so:

Delphi-Quellcode:
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;
Voraussetzung ist, dass der Code Teil einer Methode der Form ist, welche die Edit-Controls verwaltet.

Getippt und nicht getestet.

Freundliche Grüße
  Mit Zitat antworten Zitat
Overclocker

Registriert seit: 10. Jan 2007
215 Beiträge
 
#5

Re: USB K8055 Platine (Eingänge in Edit1 ausgeben)

  Alt 11. Jan 2007, 12:39
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.
  Mit Zitat antworten Zitat
Overclocker

Registriert seit: 10. Jan 2007
215 Beiträge
 
#6

Re: USB K8055 Platine (Eingänge in Edit1 ausgeben)

  Alt 11. Jan 2007, 18:36
@marabu


DANKE FÜR DEINE HILFE

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
  Mit Zitat antworten Zitat
Overclocker

Registriert seit: 10. Jan 2007
215 Beiträge
 
#7

Re: USB K8055 Platine (Eingänge in Edit1 ausgeben)

  Alt 11. Jan 2007, 20:26
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
  Mit Zitat antworten Zitat
jmd anders

Registriert seit: 13. Mai 2004
84 Beiträge
 
#8

Re: Label grün einfärben wenn platine verbunden, sonst rot

  Alt 11. Jan 2007, 20:36
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;
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#9

Re: Label grün einfärben wenn platine verbunden, sonst rot

  Alt 11. Jan 2007, 20:37
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;
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Overclocker

Registriert seit: 10. Jan 2007
215 Beiträge
 
#10

Re: Label grün einfärben wenn platine verbunden, sonst rot

  Alt 11. Jan 2007, 20:46
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz