Autor Beitrag
Palmetshofer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44



BeitragVerfasst: Mo 04.10.04 15:51 
Hallo Leute!

Also hier mein Problem:

Ich brauche ein kleines Programm welches den seriellen eingang überwacht
an welchem ein Footswitch einer Gitarre ( also ein einfacher Taster) angestekt is.

1. Problem Welche Pins muss ich nehmen und wie überwache ich den port.

2. Es soll dann wenn der taster gedrückt wurde der Button einses anderen programmes
gedrückt werden! Wenn möglich wäre es net schlecht wenn ich den button auswählen
könnte! Ich hab mir da überlegt die bildschirmkoordinaten auswählen zu lassen und
dort dann einen "virtuellen" Mausklick zu machen oder so.

Leider habe ich keine ahnung wie ich das machen soll!
Hoffentlich kan mir von euch jemand helfen!

Danke im voraus

MfG Matthias

_________________
Menschen stolpern nicht über Berge, sondern über Maulwurfshügel.
Konfuzius
.Chef
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1112



BeitragVerfasst: Mo 04.10.04 16:30 
Da es das selbe Prinzip ist wie mein Infrarotempfänger, kann ich dir sicher helfen.

Palmetshofer hat folgendes geschrieben:
1. Problem Welche Pins muss ich nehmen und wie überwache ich den port.

Dafür eignet sich am besten eine Beschaltung mit Pullup. Weißt du, wie man das macht? Ansonsten, wie ist der Schalter aufgebaut? Einfach Durchgangsschalter mit an/aus? Die Ports kannst du mit
EscapeCommFunction(PortHandle,Option);abfragen.

Palmetshofer hat folgendes geschrieben:
2. Es soll dann wenn der taster gedrückt wurde der Button einses anderen programmes gedrückt werden!

Wenn du keine Tastenkombinationen brauchst, reicht
ausblenden Delphi-Quelltext
1:
PostMessage(Fensterhandle,WM_KEYDOWM,VirtualKeyCode,0);					


Palmetshofer hat folgendes geschrieben:
Wenn möglich wäre es net schlecht wenn ich den button auswählen könnte!

Das ist Anwendungskram, also Fleißarbeit. Sowas mach ich nur gegen Geld. ;-)

Gruß,
Jörg

_________________
Die Antworten auf die 5 häufigsten Fragen:
1. Copy(), Pos(), Length() --- 2. DoubleBuffered:=True; --- 3. Application.ProcessMessages bzw. TThread --- 4. ShellExecute() --- 5. Keine Vergleiche von Real-Typen mit "="!
Pille
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 105

Windows 7
DelphiXE Prof.
BeitragVerfasst: Mo 04.10.04 16:31 
Auf den Com Port kannst Du unter Windows wie auf eine Datei zugreifen.
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
FHandle := CreateFile( pchar('\\.\COM1'),
                         GENERIC_READ or GENERIC_WRITE,
                         0,
                         nil, 
                         OPEN_EXISTING,
                         FILE_ATTRIBUTE_NORMAL,
                         0 
                        ) ;

z.B. öffnet den 1. Com Port

Damit allein ist es aber nicht getan. Der Einfachheit halber suche doch mal bei Torry. Da gibt es einige Komponenten mit Quelltext. Wenn Du keine dfavon verwenden möchtest, kannst Du dir zumindest abschauen wie's geht.

Für Deine 2. Frage habe ich leider keine Antwort.

mfg Pille

Wieder mal zu langsam
.Chef
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1112



BeitragVerfasst: Mo 04.10.04 16:35 
Für die Anwendung mit dem Taster wärs empfehlenswert, den Port als overlapped zu öffnen.

_________________
Die Antworten auf die 5 häufigsten Fragen:
1. Copy(), Pos(), Length() --- 2. DoubleBuffered:=True; --- 3. Application.ProcessMessages bzw. TThread --- 4. ShellExecute() --- 5. Keine Vergleiche von Real-Typen mit "="!
Palmetshofer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44



BeitragVerfasst: Mo 04.10.04 16:38 
Danke für die prompten antworten!

Also der footswitch funktioniert wie der taster eines cd players!

_________________
Menschen stolpern nicht über Berge, sondern über Maulwurfshügel.
Konfuzius
.Chef
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1112



BeitragVerfasst: Mo 04.10.04 16:46 
Palmetshofer hat folgendes geschrieben:
Also der footswitch funktioniert wie der taster eines cd players!

Also ein Taster, kein Schalter. Das spielt dann 'ne Rolle bei der Programmierung.

Kommst du mit dem Rest zurecht?

_________________
Die Antworten auf die 5 häufigsten Fragen:
1. Copy(), Pos(), Length() --- 2. DoubleBuffered:=True; --- 3. Application.ProcessMessages bzw. TThread --- 4. ShellExecute() --- 5. Keine Vergleiche von Real-Typen mit "="!
Palmetshofer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44



BeitragVerfasst: Mo 04.10.04 16:49 
Hmm hab ich überlesen! Wie so eine schaltung funktioniert weis ich nicht!
Welche pins würden sich da am besten eignen?

_________________
Menschen stolpern nicht über Berge, sondern über Maulwurfshügel.
Konfuzius
.Chef
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1112



BeitragVerfasst: Mo 04.10.04 16:55 
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
      DTR (Pin 4)
       |
       |
       |
       _
      | | R = 10k
      |_|       
       |
       |---------------- DSR (Pin 6)
       |
     \
      \   Taster
       \
       |
       |
      _|_ 
      GND (Pin 5)


Beim Programmieren musst du dann DTR auf High setzen.

_________________
Die Antworten auf die 5 häufigsten Fragen:
1. Copy(), Pos(), Length() --- 2. DoubleBuffered:=True; --- 3. Application.ProcessMessages bzw. TThread --- 4. ShellExecute() --- 5. Keine Vergleiche von Real-Typen mit "="!