[Delphi] Signal soll Funktion auslösen
Hi!
Ich kann Delphi eigenltich überhaupt nicht, aber ich enke so ein kleinses Prgramm kannich shcon schaffen.
Also ich möchte gerne mit einem Lichtschranken ein Signal an den Com1 Anschluss senden und dann soll eine Stoppuhr starten.
Beim nächsten Signal soll sie wieder stoppen
Könnte mir da wer helfen, das bei jedem Signal die funtion Button1Click auslöst wird.
Bitte auch ncoh dazu sagen, auf welchen Pin das Signal kommen soll.
Ich kann Delphi eigenltich überhaupt nicht, aber ich enke so ein kleinses Prgramm kannich shcon schaffen.
Also ich möchte gerne mit einem Lichtschranken ein Signal an den Com1 Anschluss senden und dann soll eine Stoppuhr starten.
Beim nächsten Signal soll sie wieder stoppen
Könnte mir da wer helfen, das bei jedem Signal die funtion Button1Click auslöst wird.
Bitte auch ncoh dazu sagen, auf welchen Pin das Signal kommen soll.
Ich glaube dein Vorhaben ist ein bischen zu weit hoch gesteckt für den Anfang.
Und hast du überhaupt schon eine Komponente, um auf COM zugreifen zu können?
Wenn nicht, hier wären paar:
http://homepages.borland.com/efg2lab/Lib…i/IO/PortIO.htm
Sonstiges:
http://www.google.de/search?hl=de&q=DELP…tnG=Suche&meta=
Und auf welchen Pin es kommt (wenn es überhaupt nur ein einziger Pin ist und nicht mehrere oder gar eine bestimmte Folge) musst du selber aus der Anleitung der Lichtschranke entnehmen, weil ich dein Modell nicht kenne.
Habe zwar selber nie mit echten Lichtschranken gearbeitet (höchstens mit Webcams die man als Bewegungsmelder missbraucht habe) aber ich glaube trotzdem, das sowas wie ganz eigene Hardware ansprechen eine verdammt kniffelige angelegenheit werden kann je nach wieviele Treiber und Beispiele der Lichtschranke beigelegt wurde und ist also nicht für den absoluten Anfänger geeignet.
Beschäftige dich wenigstens erstmal etwas mit Delphi, bevor du damit anfängst. zB wie man die normalen Komponenten benutzt. Wie man Summe von zwei Feldern ausrechnet etc.
Und hast du überhaupt schon eine Komponente, um auf COM zugreifen zu können?
Wenn nicht, hier wären paar:
http://homepages.borland.com/efg2lab/Lib…i/IO/PortIO.htm
Sonstiges:
http://www.google.de/search?hl=de&q=DELP…tnG=Suche&meta=
Und auf welchen Pin es kommt (wenn es überhaupt nur ein einziger Pin ist und nicht mehrere oder gar eine bestimmte Folge) musst du selber aus der Anleitung der Lichtschranke entnehmen, weil ich dein Modell nicht kenne.
Habe zwar selber nie mit echten Lichtschranken gearbeitet (höchstens mit Webcams die man als Bewegungsmelder missbraucht habe) aber ich glaube trotzdem, das sowas wie ganz eigene Hardware ansprechen eine verdammt kniffelige angelegenheit werden kann je nach wieviele Treiber und Beispiele der Lichtschranke beigelegt wurde und ist also nicht für den absoluten Anfänger geeignet.
Beschäftige dich wenigstens erstmal etwas mit Delphi, bevor du damit anfängst. zB wie man die normalen Komponenten benutzt. Wie man Summe von zwei Feldern ausrechnet etc.
Fighting for peace is like fucking for virginity
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Slude« (4. April 2005, 02:09)
Hi!
Also die Lichtschranke gibt nur 1 Signal, und auf welchen Pin das geht kann ich mir aussuchen.
Undwarum soll das so schwierig sein, wenn ich einen fertigen Code habe.
Ok, ich gebe zu, ich programmiere in Delphi seit Gestern früh und kenn mich ncoh nicht so gut aus, möchte das aber trotzdem machen.
Un ich will auch keine Meldungen zurücksenden, oder richtige Nachrichten abrufen sondern nur ein Signal mit 9-12V, das einfach einen timer auslöst und beim 2. Signal soll er wieder gestoppt werden, das ist alles.
Also die Lichtschranke gibt nur 1 Signal, und auf welchen Pin das geht kann ich mir aussuchen.
Undwarum soll das so schwierig sein, wenn ich einen fertigen Code habe.
Ok, ich gebe zu, ich programmiere in Delphi seit Gestern früh und kenn mich ncoh nicht so gut aus, möchte das aber trotzdem machen.
Un ich will auch keine Meldungen zurücksenden, oder richtige Nachrichten abrufen sondern nur ein Signal mit 9-12V, das einfach einen timer auslöst und beim 2. Signal soll er wieder gestoppt werden, das ist alles.
Ok, dann wird der Code ungefähr so aussehen:
Hier mal ein Musterbeispiel.
Wobei ComPortKomponente die von dir gesuchte Extrakomponente ist und du entsprechend umprogrammieren musst. Wie, das hängt von deinem Fertigcode ab.
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Timer1: TTimer;
Signal: TComPortEvent;
ComPortKomponente: TComPortKomponente;
procedure FormCreate(Sender: TObject);
procedure HabeSignal(event: TComPortEvent);
procedure Timer1Timer(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1.Enabled:=False;
ComPortKomponente.OnSignal:=HabeSignal;
end;
procedure TForm1.HabeSignal(event: TComPortEvent);
begin
if (event.Pin and PIN_2RXD)=0 then exit; //Wenn kein Signal an Pin2 dann nicht umschalten
Timer1.Enabled:=Not Timer1.Enabled;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
TuWas;
end;
end.
|
Hier mal ein Musterbeispiel.
Wobei ComPortKomponente die von dir gesuchte Extrakomponente ist und du entsprechend umprogrammieren musst. Wie, das hängt von deinem Fertigcode ab.
Fighting for peace is like fucking for virginity
Zum Thema Komponenten hast Du ja schon ein paar Links bekommen
. Immer empfehlenswert ist da aus Delphi Super Page und Torry. Dort suchst Du am besten nach dem Begriff "serial port" und Du wirst fündig werden. In der Dokumentation der jeweiligen Kompenente wird stehen, wie Du sie korrekt anwendest.
Alfons
. Immer empfehlenswert ist da aus Delphi Super Page und Torry. Dort suchst Du am besten nach dem Begriff "serial port" und Du wirst fündig werden. In der Dokumentation der jeweiligen Kompenente wird stehen, wie Du sie korrekt anwendest.Alfons


