-
Mit nicht initaliesieren Variabelen zu schaffen ist nicht gut.
und zweites habe auf die Schnelle was übersehen gehabt sorry
DWORD dwBytesRecive, dwEvtMask;
....
SetCommMask(hCom, EV_DSR);
...
WaitCommEvent(hCOM,&dwEvtMask,NULL);
if (dwEvtMask & EV_DSR)
{
....
}
EV_DSR: Ist ein Konstane
Gruß
PS: Sorry für den Fehler
-
ich danke dir für deine hartnäckiges hilfe :) bin froh genug dass du mir hilfst, brauchst dich nicht entschuldigen.
ich habe auch viel gelesen, aber darauf bin ich selbst nich gekommen :(
ich hab aber noch immer ein problem.
es stoppt nun zwar an dem befehl, aber leider kann ich durch den tatsendruck das programm nicht vortsetzten.
wenn ich am programm terminal das signal überprüfen will, muss ich dtr anhacken, und dann signalisiert er mir dass mit dem tastendruck dsr funktioniert. wenn ich dtr nicht anhacke, signalisiert er mir das nicht.
ich denke das passt so schon.
muss ich im programm auch das dtr setzten?
weil ich ja auch dtr nach dsr durchschalte.
vielleicht sollte ich noch cts auf masse setzten?
-
also, es wird keine php-seite ausgeführt,
sondern ein php-script aufgerufen.
Zur Erklärung: php ist kein (!) Programm wie
exe oder com - Dateien
du brauchst dann n server, auf dem das script liegt und
auf dem es auch geparst wird.
der server kann das eigene system sein oder ein rechner
irgendwo im www, nur erreichbar muß er halt sein und
php interpretieren können. n reiner html-server reicht da nicht.
gängigste kombination ist apache server mit php und mysql
ausserdem würd ich die variante controller am com-port favorisieren,
da man dann deutlich mehr möglichkeiten hat und kein morsen erlernen
muß.
darf man fragen was das am ende werden soll?
-
klar darfst du.
also mit php und webserver kenn ich mich eigentlich gut aus im gegensatz zu c++ wie man sieht :)
also ich hab eine datenbank apllikation geschrieben mit php und das lauft auf einem apache ws (xampp light) und kommuniziert mit einer oracle datenbank.
die php oberfläche hat mehrere logins um einstellungen vorzunehmen.
jetzt sollen an verschiedenen pcs knöpfe angebracht werden, die eine kleines php script aufrufen (durch knopf-druck) und dann schreibt dieses script in die datenbank. der knopf dient sozusagen als stückzähler.
deswegen das problem mit meinem knopf.
wie man oben sieht, kann schon wunderbar die batch datei aufgerufen werden nur am knopf haperts noch.
was genau meinst du mit dem comport controller? interbus oder lightbus o.ä.?
-
Also für einen Normalen Taster brauchst du keinen Controller in meinen Augen. Natürlich ist der Sleep im moment nicht so klasse aber das mach jetzt noch nix. Ja du muß da auch dtr setzen wenn du das signal verwendest es kann ja sein das befor dein prg gestartet wir die Schnistelle in einem ander status ist. damit es sicher klappt also immer erst alles setzen.
h = CreateFile(path, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
if (h == INVALID_HANDLE_VALUE) {
logprintf(MLOG_ERROR, "Cannot open PTT device \"%s\"\n", path);
return -1;
}
res = DeviceIoControl(h, IOCTL_SERIAL_CLR_RTS, NULL, 0, NULL, 0, &val, NULL);
if (!res) {
logprintf(MLOG_ERROR, "Device \"%s\" not a serport\n", path);
CloseHandle(h);
return -1;
}
Damit sollte man die Leitungen setzen können aber mal ganz ehrlich das habe ich auch noch nicht probiert das ist lovel zugriff auf den comport treiber. Und der Source nicht vom mir:
http://cvs.berlios.de/cgi-bin/viewcv...ptt.c?rev=HEAD
Gruß
-
Hallo bluna,
warum mit php auf die Oracle ?
Warum mehr als ein Session ?
Programiere den ganzen Tag mit C++ und Oracle 8/9/10 viel PL/Sql und sql.
Betreue ein große Software auf der Oracle aber wir brauchen nicht mehr als ein Session von prinzip her.
Warum schreibts du den tasten druck direckt in die Oracle wenn du ihn da brauchst. Wenn es dir möglich ist kannst du ja mal das Endziel etwas genauer beschreiben.
Gruß
-
ok also es werden an verschiedenen bänder (in der produktion)
pcs stehen, diese pcs dienen als anzeige (andon) und als signalnehmer (taster).
die schichtvorgabe und andere eingaben wie soll-stückzahlen werden über eine php oberfläche eingegeben.
die istzahl wird dann über den taster incrementiert.
php- zwecks leicht einschaubarer und erweiterbarer code und andere gründe...
jetzt steht nunmal schon die php-oberfläche und dann dachte ich mir bevor ich diese in c nochmals schreibe (dort kenne ich mich sowiso nicht so prickelnd aus) rufe ich über eine bat datei meine php seite auf.
diese "increment.php" erkennt dann welcher taster an welchem band gedrückt wurde und schreibt in die datenbank an der richtigen stelle für das richtige produkt.
das mit dem sleep ist kein problem, da ungefähr allle 5 minuten (schätzung :) ) ein produkt vom band läuft und somit der rechner nicht sehr viel zu tun hat. ausser anzeigen.
achso hab noch vergessen, dass mit php und kiosk mode natürlich auch am band selbst verschiedene statistiken ausgegeben werden. für die mitarbeiter.
also ich werde mich nun nochmals reinstürzen, ich hoffe ich schaffe dies noch diese woche, dann bin ich relativ gut im zeitplan. weil dann die testphase anlaufen sollte.
-
Na gerade dann wenn es an dem PC einen User gibt würde ich es anders mach Ok bin C++ Programierer und schaffe den ganzen tag mit Windoofs.
Ich würde aus der RS232 Software ein dienst machen (Keine Benutzeroberfläche) und direckt in die DB schreiben.
Wenn die jungs und mädels raus bekommen das man sein werte erhöt wenn man auf die datei click werden sie es tun.
Das riecht alles nämlich nach leistungserfassung für Acord arbeit.
Was sind das für Rechner (Betriebssystem) auf den die erfassung laufen soll ?
Gruß
-
also die rechner sind xp rechner, in denen nur die anzeige (kiosk mode ohne alt f4 kommt man nicht raus) läuft ohne maus und ohne tastatur.
also rmotezugriff.
also vor zugriff der user geschützt
ausserdem kann auch die taste öfters gedrückt werden, und somit ist dann ein verfälschen der daten auch möglich.
wenn aber am schichtende zuwenig produziert wurde, fällt das schon auf, also ist schon eine absicherung gegeben.
wenn ich mich mit c++ besser auskennen würde, würde ich das evtl auch anders realisieren, aber die zeit rennt und dies lösung ist durchaus eine gute lösung denke ich.
ich hab schon genug probleme mit diesem scheiss hier :( ich komme schonwieder nicht weiter..
falls du lust hast ... :) ich probier nochmals ein wenig rum.
gruss
[edit] hättest du das anders gelötet??
-
wo ist das problem ? habe zwar eigendlich kein Zeit aber ich werde gucken.
hast du ICQ ?
Soll ich meine Aufmachen ?
Gruß
PS: Ich will nicht das du Weihnachten arbeiten mußt *g*