Anfänger- grafische Programme Linux und Windows

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
kdeparade
Beiträge: 41
Registriert: 16.01.2006 21:08

Anfänger- grafische Programme Linux und Windows

Beitrag von kdeparade »

Hallo Forum,
möchte ein Programm erstellen, welches die serielle Schnittstelle ausliest und die Daten (Textstring von Drehzahlen des Motors) grafisch in einem analogen Rundinstrument darstellt.
Das Prog. sollte Windows als auch Linux bedienen können.
Folgende Fragen:
Ist diese Geschichte schon mal umgesetzt worden?
Ist ein in Windows oder Linux erstelltes Prog. für das jeweils andere System 1:1 umsetzbar?
Gibt es Steuerelemente/ OCX/Komponenten.. wie auch immer für derartige Dinge? ( Auslesen der Schnittstelle bzw. analoge Instrumente?)
Welche Fragen sollte man im vorraus klären?

Danke KUD
Benutzeravatar
125
Beiträge: 1322
Registriert: 19.09.2004 16:52
Wohnort: Neu Wulmstorf (Hamburg)
Kontaktdaten:

Beitrag von 125 »

Also zur Frage der Portierbarkeit:
-> Wenn du eine Lib für den Zugriff auf die Hardware benutzt die auf beiden OS läuft -> ja
-> Wenn du auf Systemspezifische Funktionen (z.B. Winapi) zur Hardwareverwaltung zugreifst -> Nein
Bild
BildDas ist Tux. Kopiere Tux in deine Signatur und hilf ihm so auf seinem Weg zur Weltherrschaft.
kdeparade
Beiträge: 41
Registriert: 16.01.2006 21:08

zu allgemein

Beitrag von kdeparade »

Danke für die Antwort.
Jedoch hatte ich konkret 2 Sachen angesprochen.
1. Ein und Ausgabe auf eine serielle Schnittstelle
2. "Drehzahlmesser" Anzeigeelement

Gibt es für beide Sachen, wie Du geschrieben hast, eine LIB für Windows und Linux?
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

1. nein, läßt sich auch nicht betriebsystem unabhängig mit pb lösen, da wirst du zwei varianten für brauchen

2. nein, sollte sich zwar systemunabhängig umsetzen lassen, mußt du aber selbst schreiben

OCX laufen afaik niemals unter linux.
kdeparade
Beiträge: 41
Registriert: 16.01.2006 21:08

Dank.

Beitrag von kdeparade »

Danke.
Jetzt kommen wir der Sache schon näher.
Ich frage mal weiter.
Der Code zum Ansprechen der Seriellen Schnittstelle- ist der wenigstens ähnlich?
Der Code eines "Drehzahlmessers" ist der wenigstens ähnlich oder gleich?

Wenn keine der beiden Fragen mit "Ja" beantwortet erden können dann erklärt mir bitte warum ich PureB. einsetzen sollte?

Unter Windoofs (VB6)klicke ich in ca. 5 min. diese Lösung zusammen und unter Linux nehme ich Gambas oder Realbasic und brauche auch nicht viel länger.
Mein einziges Problem ist einen "Drehzahlmesser" zu finden, der nichts oder wenig kostet ;-((

Bitte nennt mir die Vorteile von Pure...

Gruss Kud
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

der code des drehzahlmessers könnte vollkommen gleich sein. kommt drauf an, was deine ansprüche sind. schau in die dokumentation was an 2d zeichenbefehlen zur verfügung steht und ob du damit realisieren kannst was du vorhast.

wie der zugriff auf die serielle schnittstelle unter linux aussieht habe ich überhaupt keine ahnung. habe mal gehört, dass das unter linux prinziepiell ähnlich wie dateizugriffe aussehen soll. dann währe der code zumindest dafür wahrscheinlich nicht sehr ähnlich.
Wenn keine der beiden Fragen mit "Ja" beantwortet erden können dann erklärt mir bitte warum ich PureB. einsetzen sollte?
wer sagt denn das du pb benutzen sollst? wir sind doch nicht freds marketingabteilung.

zusammenklicken kannst du alles das, was schon tausendmal gemacht wurde, also das was trivial und belanglos ist. wenn du zusammenklicken willst, dann ist pb aber definitiv das falsche tool für dich, pb ist zum programmieren gedacht.
Mein einziges Problem ist einen "Drehzahlmesser" zu finden, der nichts oder wenig kostet ;-((
oder du lernst einfach programmieren und schreibst ihn dir selbst. wenn du das machen willst was ich denke, solltest du dir mal anschauen, was man mit sinus und cosinus funktionen alles lustiges anstellen kann.

die vorteile von purebasic gegenüber von visual basic sind:
- es ist betriebsystemunabhängiger als vb (aber weniger als c/c++)
- es ist billiger als vb
- es ist sehr klein und wenig umfangreich -> kann also auch von relativen anfängern leicht und schnell erlernt werden

nachteile gegenüber vb:
- nix mit anwendungen zusammenklicken
- nix ocx/ole
- es ist sehr klein und wenig umfangreich -> funktionen die man benötigt müssen oft selbst geschrieben werden bzw die win32 api muß selbst benutzt und verstanden werden, bzw man muß genug hirnschmalz aufwenden um mal auf den oben rechts verlinkten seiten nachzuschauen, ob schon jemand funktionen dafür programmiert hat.
kdeparade
Beiträge: 41
Registriert: 16.01.2006 21:08

Danke,

Beitrag von kdeparade »

Ein großes Danke!
Jetzt kann ich mir ein wenig mehr darunter vorstellen.
Da ich eher aus der Ecke visuelle Datenbankprogrammierung komme, habe ich überhaupt keinen Schimmer, wie Grafik programmiert wird.
Zeichnet man ein Strich von A nach B und läßt diesen immer wieder refreshen? Könnte man das gezeichneten Objekt auch anklicken und Aktionen für das Anklicken hinterlegen?
Ich werde mich mal auf die Suche nach "2D für blutige Anfänger" machen. Falls Jemand einen guten Link weiss, wäre ich natürlich dankbar.
Übrigens sollte der Drehzahlmesser wie eine analoge Uhr aussehen und ich übergebe diesem dann alle 10 ms einen Wert von 0- 6000, welcher von der seriellen Schnittstelle geliefert wird.
Dazu sollen noch Tankfüllstände, Temperaturen etc. angezeigt werden.
Schalter für diverse Sachen sollen auch noch mit drauf.

Ps. Habe gerade was über Blitzbasic gehört. Ist dieses für Anfänger eher zu empfehlen? Wo ist der Unterschied zu PB. Es scheint ja aus dem gleichen Hause zu kommen.
Benutzeravatar
Pinhead
Beiträge: 85
Registriert: 05.09.2005 20:30
Wohnort: HD

Beitrag von Pinhead »

Unter Linux hast Du Device-Dateien in die geschrieben bzw.
aus denen gelesen wird. Die seriellen Schnittstellen sind:
/dev/ttyS0 für COM1, /dev/ttyS1 für COM2 usw. Die können
wie normale Datein behandelt werden.
Sowas gibts unter Windows leider nicht :-(

Gruß Pinhead
Man macht sich immer übertriebene Vorstellungen von dem, was man nicht kennt.
(Albert Camus, franz. Schriftsteller, 1913-1960)
kdeparade
Beiträge: 41
Registriert: 16.01.2006 21:08

Zusatz

Beitrag von kdeparade »

Habe gerade in LINUX-TODO
gelesen das folgendes nicht unterstützt wird.
Kann ich damit das Projekt "Drehzahlmesser" kippen??
;
; PureBasic Linux x86 - 3.91
;
; Know bugs/lacks against Windows version

2DDrawing:
DrawingMode(): not supported
DrawImage(): not supported

Clipboard:
GetClipboardData(): not supported
SetClipboardData(): not supported

Gadget:
ButtonGadget(): Mutliline & Default not supported
CountGadgetItems(): TreeGadget() not supported
ComboExplorerGadget(): not supported
WebGadget(): not supported
TreeExplorerGadget(): not supported
ListIconGadget(): #PB_ListIcon_HeaderDragDrop not supported

Library:
ExamineLibraryFunctions(), CountLibraryFunctions(), LibraryFunctionAddress()
LibraryFunctionName(), NextLibraryFunction() and IsFunctionEntry() aren't supported

Mouse:
MouseWheel(): not supported

Network:
ExamineIPAddress(): not supported
NextIPAddress(): not supported

Menu:
GetMenuItemState(): not supported
SetMenuItemState(): not supported

Sound:
SoundFrequency(): not supported
SoundPan(): not supported
PlaySound(): flag not supported (Loop mode)

Sprite:
ChangeGamma(): not supported
SetFrameRate(): not supported
SetRefreshRate(): not supported
SpritePixelCollision(): like normal collision
FlipBuffers(): optional flag has no effect

StatusBar:
StatusBarIcon(): not supported

Window:
ActivateWindow(): not supported

Thread:
ThreadPriority(): not supported


Libraries not supported:
- Help
- Movie
- Printer
- Sprite3D
- Systray
Benutzeravatar
Pinhead
Beiträge: 85
Registriert: 05.09.2005 20:30
Wohnort: HD

Beitrag von Pinhead »

Schau Dir lieber an was unter der Version 3.94 statt unter 3.91 läuft.
DrawingMode() und DrawingImage() laufen da z.B.
Man macht sich immer übertriebene Vorstellungen von dem, was man nicht kennt.
(Albert Camus, franz. Schriftsteller, 1913-1960)
Antworten