Messgeraete-Steuerung ueber Excel etc?

Joerg schrieb:

Hallo,

aber wenn auf die serielle willst musst Du Dich auch genauer über mscomm32.ocx informieren, sowie über die Philosophie von Properties, Methodes und Events bei VB.

Bye

Reply to
Uwe Hercksen
Loading thread data ...

Hallo Jörg,

Da steht einiges in der Hilfe drin und auf den OOo Seiten gibt es ein Tutorial.

Marte

Reply to
Marte Schwarz

Hallo Stefan,

Wie Uwe spaeter schrieb, dazu braucht man mscomm32.ocx.

Ich wollte eben nur etwas nehmen, wo der User auf der anderen Seite nichts installieren muss, sondern einfach nur einen Excel File laufen laesst. Macro-Ablauf zu erlauben, kann i.d.R. der User selbst einstellen, waehrend die Installation irgendeiner Software, und sei es eines C-Programms von mir, oft von der EDV Abteilung genehmigt und durchgefuehrt werden muss. Bei teurer Software wie LabView kommen dann noch Kostenantraege und so hinzu, und das dauert.

Delphi ist zumindest in USA exotisch. Hier werden dicke Programme alle in C gemacht und kleinere Office Geschichten in VB.

--
Gruesse, Joerg

http://www.analogconsultants.com
Reply to
Joerg

Hallo Stefan, Stefan Brröring schrieb:

Ich bin gewiss kein Liebhaber des VBA Konzeptes und kaeme auch nicht auf die Idee mich ernsthaft in Visual Basic tiefer reinzufummeln, aber diese Lanze fuer VBA muss ich nun doch brechen: Man kann auch ohne Einbindung einer C oder Delphi Dll auf die serielle Schnittstelle zugreifen (es sei denn man bezeichnet Kernel32.dll als externe Bibliothek ;-)). Das ist nicht unbedingt viel schwerer als in Delphi, man muss halt nur fuer eine anstaendige Deklaration der Windows API Funktionen sorgen und sich etwas mit den VB/VBA Datentypen im Unterschied zu C/C++ beschäftigen. Die sind nämlich in VBA IMHO echt krank (Option Explicit ist hier Pflicht). Auf Activx/Ocx ala MSComm.ocx verzichtet eh mancher einer gern.

Etwa die Function CreateFile Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long

Wer google bemüht findet entsprechendes mehr...

Was Delphi angeht gebe ich gerne recht, aaaber... maches laesst sich nunmal in Excel schneller und eleganter mit VBA direkt loesen; bei Word greife ich allerdings gerne lieber direkt von Delphi aus ueber Ole/Com zu.

Fuer groessere Projekte gilt eh, dass VBA hier ueberfordert ist. Es fehlt einfach jeglicher Komfort einer anstaendigen IDE.

Gruss Peter

Reply to
Peter Matler

Joerg schrieb:

Lieber nicht, das setzt vorraus, dass das OCX entsprechend lizensiert ist (i.d.R. muss VB Professional installiert sein zur Entwicklung). Ich will hier jedoch nicht einen Umweg ueber msxmcom vergessen zu erwähnen (man bedient sich hier "eines legalen Tricks").

Es geht auch anderes (Windows API). Wenn man das als Modul stehen hat, sollte auch der unerfahren Benutzer damit klar kommen.

Das hab ich nie verstanden... Schade für die Benutzer. Aber genauso habe ich den Trend zu .Net nie verstanden.

Gruss Peter

Reply to
Peter Matler

Wie toll muss Dir dann erst Linux vorkommen: Da benutzt man die serielle Schnittstelle (fast) wie eine ganz normale Datei in die man schreiben und von der man lesen kann. Der zugehörige Treiber ist selbstverständlich Teil des Betriebssystems.

------

--
Kai-Martin Knaak
http://lilalaser.de/blog
Reply to
Kai-Martin Knaak

Uwe Hercksen schrieb:

Muss er nicht unbedingt, vielleicht reicht auch die DLL nebst Beispielen die auf Kainkas Seiten zu finden sein sollte. Ich hab keine Ahnung von o.g. Philosophie und habs auch hinbekommen. Aber möglicherweise wäre das mit besagten Kenntnissen schneller gegangen ;-)

Jörg.

Reply to
Jörg Schneide

Kai-Martin Knaak schrieb:

Hallo,

eine Datei gibt einen ja auch ein Event wenn ein Zeichen angekommen ist und andere Events bei falscher Parity, Ring Indicator etc.

Die Philosophie die für eine Datei gut passt muss für eine serielle Schnittstelle nicht auch optimal sein.

Bye

Reply to
Uwe Hercksen

Das ist schoen. Ist ja wie in Windows ;-) Wenn ich in Rente gehe und die Kinder sind ausgezogen sind und ich muss meine Rente mit 70 noch durch 3 Nebenjobs aufbessern UND ich lebe noch, dann werde ich bestimmt Zeit genug haben. Momentan muss ich auf der Arbeit eher viel mit Windows machen (nebenbei wohlgemerkt, da meine Hauptaufgaben ziemlich untechnisch sind) und habe viel mit Leuten zu tun, die froh sind, wenn sie lernen wie man eine Email abfragt. In sofern ist es für mich schon erleichternd zu Hause auch nur Windows zu haben und zumindest dort einigermassen durchzusteigen. Ich setzte zu Haus Ms-Office ein, weil ich auch auf der Arbeit damit arbeite, sonst waere ich vieleicht heute noch bei WordPerfect oder vielleicht auch Open Office.

Gruss Peter

Reply to
Peter Matler

Hallo Peter,

Oh wei, na denn. Ich hoffe mal nicht, dass das am Ende an so Kleinigkeiten wie der Schnittstelle selbst scheitert.

Ich auch nicht. IMHO ist .NET ein ziemlicher Krampf. Mangelhafte Kompatibilitaet zwischen Versionen und so, das uebliche eben. Ich hatte vor einem Monat das zweifelhafte Vergnuegen, .NET hier auf einem Rechner in Gang zu bringen. Nach einer Stunde Haare-raufen tat es dann.

--
Gruesse, Joerg

http://www.analogconsultants.com
Reply to
Joerg

Uwe Hercksen schrieb:

Ja, select() auf Dateideskriptoren ist üblich.

Das ist Außerbandinformation, die lässt sich abfragen, aber ganz bestimmt nicht mit read(), das wäre sehr merkwürdig.

Sie ist mMn z.B. auch optimal für Sockets. Immer da, wo die zugrundeliegende Schicht sich um den Handshake kümmert. Das Problem ist nur, daß vor allem die serielle Schnittstelle häufig zweckentfremdet wird, so daß man die Steuerleitungen manuell setzen und abfragen muß.

Gruß Henning

--
henning paul home:  http://home.arcor.de/henning.paul
PM: henningpaul@gmx.de , ICQ: 111044613
Reply to
Henning Paul

Hallo Marte,

So hatte ich das auch gemacht, um den IAR Compiler zu erlernen. Allerdings mit dem Ergebnis, dass das Touchpad dieses Laptop nun eine deutliche Delle hat :-(

Im Web gibt es viel an Hilfe zu den Commands. Ein Buechlein ist aber oft praktischer, bei mir waere wohl "VBA for Dummies" oder aehnliches angesagt.

--
Gruesse, Joerg

http://www.analogconsultants.com
Reply to
Joerg

Joerg :

Vergiss nicht, die VBA-Hilfe bei der Excelinstallation zu aktivieren. (musste man zumindest früher mal), sonst ruderst du im Dunkeln. Ist manchmal ein bisschen ätzend rauszukriegen, wie man bestimmte Sachen macht, aber man kann ja Makros aufzeichnen, hat dann schonmal die grundlegenden Funktionen/Objekte, die man braucht und kann dann in der Hilfe nachschlagen, was es noch so gibt. Dauerte ein bisschen, bis ich raushatte, das man z.B. auf Tabellenblätter einmal mit Namen "sheet ("Tabelle1")" als auch mit dem Index "sheet(1)" zugreifen kann. Ansonsten mal im Web nach VBA-Beispielen suchen, damit lernt man am besten. Sodann solltest Du nur die VBA-Funktionen verwenden, die es auch schon in Excel 97 (2000,2002) gab, sonst muss Dein Kunde erstmal das neuste Excel installieren, oder nimmst gleich Excel97 (stürzt aber häufiger ab). Die später nachgeschobenen Funktionen hab ich bisher noch nie gebraucht.

Die stammen dann wohl aus unsrer Ecke:-).

Leider ist OpenOffice-Basic ganz was andres als VBA. Allerdings ist das natürlich frei, und ne Schule ohne Excel kann das dann auch nutzen...

M.

--
Bitte auf mwnews2@pentax.boerde.de antworten.
Reply to
Matthias Weingart

Hallo Jörg,

Ich wüsste nicht wozu. Dafür gibt es API und DLLs, die die API nutzerfreundlich aufbereitet haben. Beides geht aus Excel heraus, auch wenn ich das selbst noch nie gemacht habe.

Das ist sicher ein eleganter Weg.

Solange Dein Programm nichts in die registry scheiben muss, geht das fast alles auch ohne Installation. Schau Dir mal Purebasic an. Damit schreibst Du auch mal schnell ein Tool, das dann eine wenige kB kleine exe macht, die ohne Runtime und Geschnösel auskommen, sowohl Fensterchen alsauch Kommandozeile, Linux, wie Windoof. Wenn man ohne direkten API-Einsazu arbeiten will, muss eben auch die DLL im selben Verzeichnis sein. Nix Installation uns so.

Ein EXCEL-File mit Makros ist mindestens so gefährlich und deswegen verboten, wie das Ausführen fertig compilierten Code.

Auch aus LabView heraus lassen sich EXE-Dateien erstellen. Allerdings braucht man dann noch die Runtime :-(

Marte

Reply to
Marte Schwarz

Hallo Matthias,

Das mache ich auch in MS-Word so. Alles strikt auf '97 kompatibel eingestellt. Da muss ich wirklich sagen, dass Microsoft in Sachen Rueckwaertskompatibilitaet recht gut arbeitet.

Meist Lankwitz und Marienfelde ;-)

Schluck. Gut, dass Du das schriebst. Ich dachte, OO und Office seien ziemlich kompatibel. Wohl doch nicht .... das wird ja immer komplizierter.

--
Gruesse, Joerg

http://www.analogconsultants.com
Reply to
Joerg

"Marte Schwarz" :

Ack. Und das Ausführen von Excel-Makros kann von der Administration durch ein globales Registryflag verboten werden. Da hat der einfache User dann keine Chance das auszuführen. Da ist nen Exe-file ohne Installation einfach aus dem "EigeneDateien" Ordner oder vom Stick oft einfacher ausgeführt.

M.

--
Bitte auf mwnews2@pentax.boerde.de antworten.
Reply to
Matthias Weingart

Hallo Marte,

Sieht so aus, als muesste ich in Sachen VBA noch viel lernen.

*.exe sind hinter Firewalls manchmal ziemlich verpoent. Oft kommen die (wie bei mir) gar nicht ohne bewusste Freischaltung durch. Und bei groesseren Firmen muss man dann bei der IT erstmal einen Antrag stellen. Hin und wieder ist auch die Installation auf dem Rechner ohne IT Mitwirkung gar nicht erlaubt.

Ich weiss. Erstaunlicherweise sind sie aber nur selten blockiert. Das beruechtigte nicht abgeschlossene Gartentor. Will ich ja nicht ausnutzen, nur verwenden, sodass jemand nuetzliche Routinen benutzen und zum Beispiel eine Messung nachvollziehen kann. Ein klassisches Beispiel sind Langzeitmessungen mit einem DSO. Viele davon wie meines kommen ohne Tricks nicht unter 10sec/div. Langsamer ginge das nur mit irgendeinem Script, Programm oder Macro. Meines kann zwar ellenlang in den Speicher schreiben, doch wenn ich den dann als Vollbild anzeigen will, muss ich das ueber Excel machen (derzeit von Hand). Andere wie z.B. viele Tektronix DSOs haben nur 2.5K Speicher und damit geht nicht mal das.

Tja, und fuer Labview muss erstmal laessig ein vierstelliger Betrag gelatzt werden. Um beim Kunden "mal eben" einige Messungen zu machen, kann man das vergessen.

--
Gruesse, Joerg

http://www.analogconsultants.com
Reply to
Joerg

Nicht wirklich.Zeig mal das WinXP-Äquivalent zu

$ cat /dev/tty0

------

--
Kai-Martin Knaak
http://lilalaser.de/blog
Reply to
Kai-Martin Knaak

OK. Ich kann das und die Vor- und Nachteile, mangels Erfahrung und Wissen, eh nicht beurteilen.

Peter

Reply to
Peter Matler

copy com1: con:

oder

type com1:

Allerdings muß man zugeben, daß es nicht wirklich äquivalent ist. Strg+C funktioniert nämlich gerade dann nicht, wenn man's am meisten braucht, wenn nämlich garnix über com1 reinkommt.

Allerdings: Wegen doof implementierter Programme blockierte Konsolen kenne ich auch von *x zu Hauf. Und: Es wäre auch für Windows ein "cat" möglich, was auch bei toten Inputs nicht selbst stirbt. Bloß hat's Winzigweich halt nicht implementiert. Kommandozeile hat bei denen keinerlei Priorität.

Reply to
Heiko Nocon

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.