Ein paar Verständnisfragen

Hallo!

Ich habe mal wieder eine Frage:

Den Quellcode unten habe ich von der Seite: http://members.inode.at/anton.zechner/az/Seriell.htm

Jetzt jedoch hätte ich gerne gewusst was der überhaupt macht.

bool bDtrOn=1, bRdsOn=1;

memset(&sDcb, 0 ,sizeof(sDcb));
sDcb.DCBlength = sizeof(sDcb);
GetCommState(hFile,&sDcb);

sDcb.fDtrControl = (bDtrOn)? DTR_CONTROL_ENABLE:DTR_CONTROL_DISABLE;
sDcb.fRtsControl = (bRdsOn)? RTS_CONTROL_ENABLE:RTS_CONTROL_DISABLE;

SetCommState(hFile,&sDcb);

Besonders die Zeilen...

>sDcb.fDtrControl = (bDtrOn)? DTR_CONTROL_ENABLE:DTR_CONTROL_DISABLE;
>sDcb.fRtsControl = (bRdsOn)? RTS_CONTROL_ENABLE:RTS_CONTROL_DISABLE;

...kommen mir sehr komisch vor.:confused:

Wäre gut, wenn jemand die Zeit aufbringt mir zu helfen.

Danke,

Gruß
FzK_SAKI
 
Besonders die Zeilen...

>sDcb.fDtrControl = (bDtrOn)? DTR_CONTROL_ENABLE:DTR_CONTROL_DISABLE;
>sDcb.fRtsControl = (bRdsOn)? RTS_CONTROL_ENABLE:RTS_CONTROL_DISABLE;

...kommen mir sehr komisch vor.

Hi,
also mit dem Fragezeichenoperator weist du einer Variablen einen Wert zu, der dadurch bestimmt wird, ob eine Bedingung true oder false ist.
variable=(Bedingung)?"Wert wenn true":"Wert wenn false";

Beispiel:
int x = (1==1)?1:0;
da 1==1 true ist, wird der Variablen x der Wert "1" zugewiesen!

Gruß,
swalbking
 
Sehr gut. ich glaube ich habe es verstanden. Danke!
Aber Die "Wörter":
bDtrOn und:
bRdsOn

Sind jetzt nicht schon vorgegeben gewesen?

Gruß

FzK_SAKI
 
Ok. Danke.

Ähm... noch etwas:

Kann ich denn etwas eingeben, damit der Compiler auf der Konsolenoberfläche zu einer bestimmten Stelle springt um mir dann dort etwas ausgeben zu lassen?

Gruß
FzK_SAKI
 
Hi,

ohne dir jetzt zu nahe zu treten, vielleicht tust du dir selbst den gefallen und fängst bei den Grundlagen von C oder C++ an und nicht gleich beim Lesen/Schreiben über eine Serielle Schnittstelle.

Es gibt im Internet haufenweise C bzw. C++ Grundlagen-Tutorials, die Themen wie Kontrollstrukturen, Variablendeklarationen usw... abhandeln.
 
Hallo! Ich bins mal wieder!
Ich weiß echt nicht was gerade mein compiler mit meinem programm macht. Könnt ihr mir vielleicht helfen?

#include <iostream.h>
#include <windows.h>
#include <stdio.h>
#include <conio.h>

int main()
{
printf("Hallo");
cin.get();
}

Doch wenn ich kompilieren lasse, dann zeigt er mir an:

fatal error C1083: Datei (Include) kann nicht geöffnet werden: "iostream.h": No such file or directory

Was kann ich da tun? Zumal es geht, wenn ich statt include iostream.h include iostream schreibe. Aber wenn ich dann noch include stdafx.h dazunehme, dann findet er stdafx.h nicht mehr, und wenn ich schreibe include stdafx dann geht es auch nicht. In allen Fällen zeigt er mir fatal error usw. an.

Gruß
FzK_SAKI
 
Hallo! Ich bins mal wieder!
Ich weiß echt nicht was gerade mein compiler mit meinem programm macht. Könnt ihr mir vielleicht helfen?

#include <iostream.h>
#include <windows.h>
#include <stdio.h>
#include <conio.h>

int main()
{
printf("Hallo");
cin.get();
}

Doch wenn ich kompilieren lasse, dann zeigt er mir an:

fatal error C1083: Datei (Include) kann nicht geöffnet werden: "iostream.h": No such file or directory

Was kann ich da tun? Zumal es geht, wenn ich statt include iostream.h include iostream schreibe. Aber wenn ich dann noch include stdafx.h dazunehme, dann findet er stdafx.h nicht mehr, und wenn ich schreibe include stdafx dann geht es auch nicht. In allen Fällen zeigt er mir fatal error usw. an.

Gruß
FzK_SAKI

P.s:
ohne dir jetzt zu nahe zu treten, vielleicht tust du dir selbst den gefallen und fängst bei den Grundlagen von C oder C++ an und nicht gleich beim Lesen/Schreiben über eine Serielle Schnittstelle.

Was soll das denn heißen? Ich soll mal lieber erst bei den Grundlagen anfangen? Ich habe bis jetzt genug Tutorials durchgearbeitet. (Naja. Vielleicht nicht genug um danach mit der Seriellen Schnittstelle anzufangen, aber GENUG um mich da ranzutrauen.) Du tust mir echt leid, wenn du dich nicht traust an etwas ranzugehen, was ja so unheimlich kompliziert ist. Ok, Serielle Schnittstelle war ja auch erst mal schwer, aber ich habe es im Grunde schon hinbekommen. Der Fehler oben, der ist erst gerade aufgetreten und ich weiß nicht wie man ihn beheben kann. Aber vielleicht habe ich ein Tutorial übersehen in dem man so etwas erklärt bekommt. Wenn du so ein Tutorial erkennst, dann schick mir bitte den link.
ich wäre dir sehr dankbar.
 
Hallo! Ich bins mal wieder!
MCoder hat dich doch bereits in einem anderen Thema darauf aufmerksam gemacht, das du nicht x-mal die gleiche Frage stellen solltest?! (siehe Netiquette Nr. 12 der du zugestimmt hast)

Außerdem ist das hier kein Chat oder Instant Messaging. Das heißt es kann auch mal etwas dauern bis jemand die Zeit findet etwas zu antworten.

Gruß
 
ich weiß das das hier kein chatprogramm ist, und auf diese frage wurde mir, wenn du mal ganz genau dir alles durchgesehen hättest, dann wär dir aufgefallen, dass noch niemand meine Frage von gerade beantwortet hatte. Mir wurde nur ein Downloadlink gegeben.
oder was meinst du mit:

>(siehe Netiquette Nr. 12 der du zugestimmt hast)
 
Zurück