AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

RS232

Offene Frage von "Studtowicz"
Ein Thema von Studtowicz · begonnen am 7. Mär 2005 · letzter Beitrag vom 9. Mär 2005
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von SubData
SubData

Registriert seit: 14. Sep 2004
Ort: Stuhr
1.078 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: RS232

  Alt 8. Mär 2005, 16:57
Geht sowas nich mit dem SpeedButton? Ich glaub der hat da gleich was für drin :>
Ronny
/(bb|[^b]{2})/
  Mit Zitat antworten Zitat
Benutzerbild von TeronG
TeronG

Registriert seit: 19. Jul 2004
Ort: München
960 Beiträge
 
Delphi 2007 Professional
 
#12

Re: RS232

  Alt 8. Mär 2005, 17:01
Laut OH hatter "nur" DAS:
OnClick
OnDblClick
OnMouseDown
OnMouseMove
OnMouseUp


Ohhh cool OnDblClick .. wusst ich garnet
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#13

Re: RS232

  Alt 8. Mär 2005, 17:02
@TeronG:
Dafür wäre ne Endlosschleife geeignet, aber man sollte bedenken, dass man auch Pausen einsetzen sollte, damit die Spannung nicht zu schnell nach oben geht
Julian J. Pracht
  Mit Zitat antworten Zitat
Benutzerbild von TeronG
TeronG

Registriert seit: 19. Jul 2004
Ort: München
960 Beiträge
 
Delphi 2007 Professional
 
#14

Re: RS232

  Alt 8. Mär 2005, 17:06
Zitat von Ultimator:
@TeronG:
Dafür wäre ne Endlosschleife geeignet, aber man sollte bedenken, dass man auch Pausen einsetzen sollte, damit die Spannung nicht zu schnell nach oben geht
Klar ... Punkt für dich
ich mach das gerne mit "meiner" Wait-Procedure
Delphi-Quellcode:
procedure Wait(milliseconds: Cardinal);
var
  Start : Integer;
begin
  Start := GetTickCount;
  while GetTickCount-Start <= milliseconds do
    application.ProcessMessages;
end;
龍 Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.
  Mit Zitat antworten Zitat
Studtowicz

Registriert seit: 7. Mär 2005
Ort: HH
4 Beiträge
 
#15

Re: RS232

  Alt 8. Mär 2005, 17:20
wie bau ich denn die schleife ein?
bei mir sieht es jetzt so aus


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OoMisc, AdPort, Buttons;

type
TForm1 = class(TForm)
ApdComPort1: TApdComPort;
Button1: TButton;
Button2: TButton;
SpeedButton1: TSpeedButton;

procedure Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);

procedure Button2MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);

private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}



procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ApdComPort1.Open := true;
ApdComPort1.Output := '+'
end;



procedure TForm1.Button2MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ApdComPort1.Open := true;
ApdComPort1.Output := '-'
end;



end.




Kann ich dafür WHILE und DO nehmen?
und welcher Befehl kommt hinter DO????

Sorry ich bin ein nOOOOb
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#16

Re: RS232

  Alt 8. Mär 2005, 19:02
Müsste gehen, wenn du nen ApdComPort1 und 2 Buttons auf der Form hast
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button2MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    ButtonPressed: boolean;
    procedure SendSign(Zeichen: char);
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure Wait(milliseconds: Cardinal);
var
  Start : Integer;
begin
  Start := GetTickCount;
  while GetTickCount-Start <= milliseconds do
    Application.ProcessMessages;
end;

procedure TForm1.SendSign(Zeichen: char);
begin
 while ButtonPressed do
  begin
   ApdComPort1.Output := Zeichen;
   Wait(200);
  end;
end;

procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 ButtonPressed := true;
end;

procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 ButtonPressed := false;
end;

begin

procedure TForm1.Button2Click(Sender: TObject);
begin
 SendSign('+');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 SendSign('+');
end;

procedure TForm1.Button2MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 ButtonPressed := true;
end;

procedure TForm1.Button2MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 ButtonPressed := false;
end;

end.
Julian J. Pracht
  Mit Zitat antworten Zitat
Benutzerbild von TeronG
TeronG

Registriert seit: 19. Jul 2004
Ort: München
960 Beiträge
 
Delphi 2007 Professional
 
#17

Re: RS232

  Alt 9. Mär 2005, 09:17
moin moin
Zitat von Studtowicz:
Kann ich dafür WHILE und DO nehmen?
und welcher Befehl kommt hinter DO????
Klar kannste Delphi-Referenz durchsuchenWHILE benutzen .. nach DO kommt das was du machen willst ... entweder eine einzelne Aweisung oder mit Begin und End ein ganzer Haufen von anweisungen. ^^

Zitat von Studtowicz:
wie bau ich denn die schleife ein?
Du könntest zum beispiel eine WHILE DO schleife bei OnMouseDown starten. Und bei OnMouseUp setzt du einen Boolean der die Schleife beendet auf High.
btw.: vergiss nicht den Boolean irgendwo wieder auf False zu Setzen sonnst läuft das ding nicht mehr an ^^

Delphi-Quellcode:
While not Global_bool_fuer_OnMouseUp DO
begin
  // Sannung hoch setzen
  // bissl warten
end;
Zitat von Studtowicz:
bei mir sieht es jetzt so aus
Mach doch bitte die code-tag's (nennt man das so ) um deinen Code .. ist leserlicher dann
龍 Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 04:55 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