Hallo Leute. Wieder einer mit einer einfachen Frage.(oder auch nicht) Ich habe für eine einfache Beleuchtungsregelung gebastelt die mit einer Kennlinie aus 8 Bytes arbeitet die im EEprom des Controllers stehen. Aktuelle Daten werden einfach über die Serielle in den Controller übertragen Soweit läuft alles perfekt. Momentan nutze ich noch ein Terminalprogramm um die Daten zu überspielen aber ich möchte natürlich ein passendes Program für Windows erstellen. Die Ausführung ist eigentlich recht simpel. 8 Schieber zum Einstellen und auf Tastendruck soll der Datensatz einfach mit Checksumme über die Serielle zum Controller geschickt werden. Was ich suche ist ein Compiler der mir ein ergebnis ohne Externe Bibliothek liefert und auch die Serielle unterstützt. Das bis jetzt gefundene benötigt entweder eine Laufzeitbibliothek oder unterstützt die Serielle nur mit viel umstand oder gleich garnicht. Ich brauche also folgendes: 1. Frontend quasi zusammenklickbar. 2. Unterstürzung der Seriellen. 3. Ergebnis muß Standalone sein. 4. Wenn möglich dann natürlich Freeware aber das ist nur Optional. Was ich ausklammern möchte ist C oder C++.Es ist mir einfach zu Kyptisch. Basic oder Pascal kämen mir schon entgegen da mir diese nicht ganz fremd sind. Kann mir da mal einer nen Schubs in die richtige Richtung geben ? Wäre echt Nett. Mark Hilbich
Hi Alternative 1: C# + Visual C# 2005 Express mit .NET-Framework 2.0 Braucht zwar auch eine Laufzeitumgebung aber um die wird der normale Windows-Benutzer eh nicht lange rumkommen. Alternative 2: Java + Netbeans mit CommAPI Braucht aber auch die Java-Laufzeitumgebung und die etwas merkwürdig zu installierende CommAPI. Beide Alternativen bringen brauchbare GUI-Editoren mit. Weitere Alternativen werden dir von anderen noch genannt werden. Matthias
Die Serielle Schnittstelle wird von der Windows API unterstützt und kann mit CreateFile (oder so) angesprochen werden. Im Prinzip tut es also jeder C-Compiler. z.B. http://www.bloodshed.net/devcpp.html Hilfe zu Windows API: http://www.winapi.net/ Das zusammenklicken der Oberfläche wird schon schwieriger. Da kann ich z.B. den C++ Builder von Borland empfehlen. Wenn es kostenlos sein soll: http://wxdsgn.sourceforge.net/ Ist allerdings noch nicht ganz ausgereift. Für Anfänger nicht zu empfehlen.
Wenn es doch Basic sein soll - RealBasic. Erzeugt im Gegensatz zu den Microsoft'schen Ansätzen monolithische Programme (1 Exe-Datei, die alles erforderliche enthält). Je nach Ausführung ist RealBasic sogar ein "cross platform"-Werkzeug und kann auch Code für Linux und MacOS erzeugen. Eine einfache Version (ohne "cross platform") wurde eine Zeitlang sogar kostenlos verteilt - Zielgruppe waren VB6-Anwender, die ihre Programme für VB.net hätten anpassen müssen. Alternativ bietet sich für die Leute, die mit der Pascal-Syntax klarkommen, Delphi an. Das lag in diesem Sommer einer c't bei - und war, vom Preis der c't abgesehen, kostenlos. Zur Installation bedarf es nur einer Seriennummer, die man bei Borland abholen kann.
Schon Delphi in Erwägung gezogen? > 1. Frontend quasi zusammenklickbar. Mit Delphi 100% möglich. > 2. Unterstürzung der Seriellen. Es ibt kostenlose Komponenten, die diese Funktionalität besitzen => keinerlei Programmieraufwand. > 3. Ergebnis muß Standalone sein. Delphiprogramme sind stand alone. > 4. Wenn möglich dann natürlich Freeware aber das ist nur Optional. Bis vor kurzem gab es die personal edition von Delphi v7 kostenlos, scheint aber wohl nicht mehr so zu sein. Jedenfalls gibt es den Downloadlink nicht mehr bei Borland bzw. Inprise. Dieser Compiler wurde aber auch oft auf irgendwelchen CDs mitgeliefert, vielleicht findest du da noch was. Ich denke, dass es die personal edition auch noch irgendwo im Netz gibt.
Hmmm. Basic oder auch Pascal. Keine Bibliotheken. Frontend zusammenklickbar Funktionen für die Serielle Möglichst Gratis. Ich denke mal das du da vieleicht noch Abstriche machen müßtest. Purebasic wäre vieleicht ein Kandidat für dich. +Ist Basic. +Das Compilat läuft ohne zusätze. +Das Frontend ist wie bei vielen anderen zusammenklickbar und,was noch besser kommt,einfach in den Code integrierbar. +Crosscompiler für Win,Linux und MAC falls was universelles gebastelt wird. =Die Serielle wird nicht direkt unterstützt aber ich habe da ne Lösung gesehen die man sich anpassen kann. -Leider nicht gratis aber mit 60 bzw. 80 Eur. noch bezahlbar. (Demo verfügbar) Leider kann ich dir nicht viel Erfahrungen dazu mitteilen. Hab das mal ausprobiert weil ein Arbeitskollege damit seine kleinen Apps zusammengeschustert hat. Machte einen leichten Eindruck. Schau es dir mal an.
Schau dir doch mal Labview von National Instruments an. Da kannst du dir die Programme + Frontend zusammenklicken. Die Programme werden dort mittels Symbolen zusammengeklickt. -> Nix schreiben! Ist aber nicht kostenlos, es gibt aber eine Demoversion.
@Matthias Weißer Ich sagte ja das C mir zu kryptisch ist. Da bekomme ich Kopfschmerzen von. @Heinz Ohne Laufzeitumgebung war bedingung. Mit kann ich gleich VB nehmen. aber der Hinweis auf die Windows-API war gut (Näheres weiter unten) @Rufus T. Firefly RealBasic ist schon nicht schlecht (Keine Laufzeitumgebung) aber der eigentliche Code geht da wieder komplett in der ganzen Verknüpfelei unter. @,,,, und Rufus T. Firefly Delphi habe ich schon durch und etliche Tutorials probiert. Wie bei fast allen Visuellen Compilern ist die Oberfläche zwar schnell zusammengeklickt und auch der eigentliche Code noch in sinvoller Zeit und verständlich erstellt aber man wird beim Verknüpfen der Funktionen mit den For,mularen über Zig Listen irre. leider hat Delphi nicht mehr viel mit dem Pascal was ich noch kenne zu tun. die Syntax erinnert mehr an C. @Stefan Das schaue ich mir mal näher an. @Ratber Ja,Purebasic sieht gut aus. Ich probiere es gerade. Bis jetzt kann ich auch die Beispiele nachvollziehen. Die diversen Routinen für die Serielle habe ich schon gefunden. So wie die aussehen glaube ich eine Chance zu haben das ich die mir anpasse. @All Vielen Dank für die Hinweise und Hilfe. Ich probiere mal Purebasic aus und melde mich die Tage nochmal um zu berichten. Mark Hilbich
Hi C# hat soviel mit C zu tun wie Java mit C zu tun hat. Es verwendet die gleiche Struktur für Blockbildung, die Funktions- bzw. Methodendefinition hat gewisse Ähnlichkeiten mit C und es verwendet die gleichen Operatoren wie C aber das wars dann auch schon. Sowohl Java als auch C# sind moderne Programmiersprachen in denen man nicht mehr wild mit Pointern um sich schmeißen muss obwohl das in C# immer noch geht. Matthias
> C# hat soviel mit C zu tun wie Java mit C zu tun hat.
c# ist microsoft-java. die haben java quasi nachgebaut und aufgebohrt.
Hi und? Was willst du und damit sagen? So wie C# von Java abstammt (mit einigen netten Erweiterungen wie delegates, boxing, operator overloading) stammt Java von Smalltalk und ein kleines bischen von C++ ab. Kaum eine heutige Programmiersprache kann von sich behaupten das sie nicht irgendwelche Ideen aus Vorgängern übernommen hat. Matthias
"stammt Java von Smalltalk und ein kleines bischen von C++ ab" Huh? Was bitte hat Java von Smalltalk, abgesehen davon, dass beide objektorientiert sind?
Hi Java verwendet z.B. das Konzept eines Objektbaums wie Smalltalk. Alle Objekte stammen von java.lang.Object ab. Jede Klasse kann nur von einer Klasse erben im Gegensatz zu C++. Die automatische Speicherverwaltung (Garbage Collection) und das Konzept der VM wurden ebenfalls übernommen. Von C++ stammt eigentlich nur der Syntax (Blockbildung, Verzweigungen, Schleifen usw.) Kaum eine elementare Eigenschaft von C++ (Mehrfachvererbung, Destruktoren, Operator Overloading, Templates), mit Ausnahme der primitiven Datentypen die es in Smalltalk nicht gibt, wurde in die erste Java-Version übernommen. Matthias
Hallo Leute Wollte mich wie versprochen nochmal melden. Ich bin erst zum Wochenende dazu gekommen wirklich an meinem kleinen Projekt zu Arbeiten. Mit der gefundenen lösung für die Serielle klappt es wunderbar nachdem ich sie für mich etwas abgeändert habe. Das Programm ist in seinen wesentlichen Funktionen fertig und jetzt fehlen noch Details wie Presets,eine kleine Hilfe und kosmetische Geschichten wie Form,Farbe usw. Nochmal danke an Alle für die Ideen/Vorschläge und speziell an Ratber für den Tip mit Purebasic. Mark Hilbich
> Kaum eine elementare Eigenschaft von C++ (Mehrfachvererbung, > Destruktoren, Operator Overloading, Templates), mit Ausnahme der > primitiven Datentypen die es in Smalltalk nicht gibt, wurde in die > erste Java-Version übernomme Gerade das Fehlen von Destruktoren sorgt dafür, daß bei Java alle Ressourcen außer Speicher nicht automatisch freigegeben werden können.
Tschulige Rolf, dass ich hier einfach reinplatze. Ich dachte immer, das es in Java sehr wohl Destruktoren gibt (ich kann kein Java und hab auch keine Lust dazu). Das Problem sei viel mehr, dass man durch die Garbage Collection nie weiss wann denn nun ein Destruktor aufgerufen wird.
Hi in Java gibt es keine Destruktoren. Der Garbage Collector wird hin und wieder aufgerufen und löscht dann alle Objekte die vom Wurzelknoten des Systems aus nicht mehr referenziert werden können (Mark-Sweep Verfahren). Ein automatisches Aufräumen von Filehandles ist damit nicht möglich. C# bietet zwar eine Art Destruktor an dessen Ausführungszeitpunkt aber nicht garantiert werden kann (er wird vom GC aufgerufen) Matthias
> C# bietet zwar eine Art Destruktor an dessen > Ausführungszeitpunkt aber nicht garantiert > werden kann (er wird vom GC aufgerufen) Gibt es auch in Java, heisst dor Finalizer.
Hi Stimmt. Ich hab das eben nochmal nachgeschaut. Wieder was gelernt, danke. Was man aber in dem Zusammenhang noch erwähnen sollte ist das die Ausführung dieser finalize-Methode (sowohl in Java als wahrscheinlich auch in C#) nicht nur zu einem unbestimmten Zeitpunkt geschehen kann sondern evtl. sogar ganz unterbleiben kann wenn die Anwendung nämlich beendet wird bevor der GC läuft. Dieses Konstrukt kann also nicht als vollwertiger "Ersatz" eines C++ Destruktors gelten. Matthias
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.