QBasic-Prg in AutoIT umprogrammieren

  • Hallo,

    in unserer Firma gibt es ein QBasic-Programm, das auf einem unsere XP-Rechner lief ....

    Jetzt - wo wir nur noch Win 10 haben - geht das natürlich nicht mehr.

    Der Mitarbeiter, der das Programm mal geschrieben hat, ist schon lange nicht mehr im Unternehmen.

    ... aber den Quellcode - den haben wir noch :)

    Es wird nicht mehr so oft benutzt, aber manchmal eben doch noch und deshalb soll dieses Programm auch auf Win 10 laufen.

    Ich kann es nicht ... ist mir einfach zu schwer/komplex.

    Es wird die Drosselkennlinie von Hydraulikpuffern eines bestimmten Typs in senkrecht stehender Anordnung ermittelt !

    Bzw. wird der Puffer damit berechnet. Die ermittelte Kennlinie soll - und das ist das neue hierbei - auch grafisch festgehalten werden. Vorher wurde eine Tabelle mit Zahlen ausgespckt; jetzt soll zusätzlich eine Grafik ausgedruckt werden.

    Deshalb suche ich jemanden, der das Programm in AutoIT umsetzt.

    Das Programm kann zwar so bleiben (vom Aufbau und Struktur), muss aber nun doch eine Ergänzung bekommen !

    Wenn mir jemand helfen könnte und sich das zutraut, bitte melden !

    Anbei mal der QB-Quellcode. (Firmenbezogene Daten wurden entfernt)

    Über eine Vergütung müßte seperat verhandelt werden, da ich das ganze dann weiterleiten muss ...

    Danke

    R.Schmidt

  • Für eine entsprechende Spende an eine karitative Organisation plus einen Link auf die QBasis Dokumentation mache ich Dir das :)

    Garantie, dass das ganze fehlerfreie ist: Keine. Sprich: Ich schreibe um, Ihr testet!

  • Ja ... so kann man auch darüber reden :)

    Die Datei, die ich da oben im Anhang habe ... läßt sich leider nicht als *.bas - Datei hochladen ... deshalb ist es nur eine txt-Datei. Da oben ist also der Quellcode ...

    Da war aber noch die Sache mit der Grafik ... der Kurvenverlauf soll ja als Grafik sichtbar sein (in Datei speichern). Es geht also über das alleinige Umschreiben drüber hinaus ...

    Das mit der karitativen Organisation ist gerade durch ... hab aber echt keine Ahnung ob das so ok ist.

    Falls nicht - bitte Bescheid geben, ok ?

    Danke erstmal ...

  • Bin schon an der Übersetzung des QBasic Teils nach AutoIt dran. Das Ergebnis sollte dann erstmal auf korrekte Umsetzung geprüft werden.

    Danach kann man sich überlegen, wie die grafische Darstellung erfolgen soll.

  • Jetzt kommen die Fragen:

    • Ich gehe davon aus, dass Ihr in eine Datei druckt und diese dann manuell auf den Drucker gebt? D.h. Die Funktion "Druckereinschalten" wird nicht verwendet?
    • In Function FVzuhoch scheint mir die Zeile IF ANSTFL% = 0 THEN INPUT "Systemkennzahl eingeben:"; ANSTFL%: PRINT: IF ((ANSTFL% < 0) OR (ANSTFL% > 2)) THEN GOTO FVzuhoch falsch zu sein. Sie wird nur bei ANSTFL = 0 durchlaufen, was aber bedeutet, dass bei Werten < 0 oder > 2 die Abfrage für einen korrigierten Wert niemals angezeigt wird. Oder sehe ich das falsch?
  • Ich habe das Skript nun soweit übersetzt, dass keine Fehler mehr auftreten.
    Hast Du mir eine Testein- und -Ausgabe, so dass ich prüfen kann, ob es in der Logik noch Probleme gibt?

  • Hi ... ja, die Ausgabe auf den Drucker brauch ich nicht. Besser wäre eine Ausgabe in eine Datei ... ruhig mit festen Namen.

    Das mit der ANSTFL ... ja - du hast Recht. Die Abfrage ist etwas ... sinnfrei.

    Als Werte kann ich dir das hier geben:

    Durchmesser 40 mm

    Länge 175 mm

    Masse 3200 kg

    Nenngeschw. 1.6m/s

    Koeffizient 0.7 (obwohl nur 0.5 ... 0.6 zur Auswahl steht)

    Den letzten Wert auf 0.95 setzen ....

    Dann müsste die Tabelle erstellt werden.

    Leider bin ich z. Zt. Im Ausland und kann nicht auf die Daten zugreifen ... aber ich schreib mal den Kollegen an ... der müsste irgendwo noch eine haben.

  • Es drängt ja nicht.
    Ihr müsst vorher sowieso noch das viele Geld für die Spende verdienen ;):D

  • So ... ich hab mich jetzt ein bischen mit KODA beschäftigt ... um eine 'schöne' Eingabe-Maske zu kreieren. Damit kann man schneller/besser seine Daten eingeben und ändern.

    Das kann man bestimmt auch besser hinkriegen ... aber mir reicht das erstmal so hin.

    Was mir jetzt noch fehlt ist ein Grafik. Ich möchte - nachdem der Button 'Kennlinie berechnen' angeklickt wurde, das ein grafisches Ergebnis in einem neuen Fenster (einem zusätzlichen Fenster) angezeigt wird. In diesem Fenster soll dann auch weiter gearbeitet werden. Ich brauche dort noch Buttons. Im ersten Fenster soll erst dann wieder gearbeitet werden, wenn das neue Fenster wieder geschlossen worden ist.

    Die Daten zu diesem (gewünschten) grafischen Ergebnis liefert mir die txt-Datei, die ebenfalls erzeugt (und abgespeichert) wird (s. Anhang).

    Ich brauche dann die Graphen gem. Anhang

    - Weg / Geschwindigkeit (x-Ache der Weg; y-Achse Geschwindigkeit)

    - Weg / Verzögerung (x-Ache der Weg; y-Achse Verzögerung)

    Kann auch sein, das ich noch einen anderen / weiteren Graphen brauche. Mal sehen.

    Wie sieht die Struktur dazu aus ? Ist mir nicht ganz klar, wie ich das machen soll - zumal ich ja schon 1 Hauptfenster habe - ohne Grafikeinbindung ...

    Anbei mal mein Code ...

  • Für das 2-GUI Thema: https://www.autoitscript.com/wiki/Managing_Multiple_GUIs beschreibt sehr gut, wie man mit 2 GUIs arbeitet.

    Für die Grafik: Hast Du Excel installiert?

  • Du kannst ja mal einen kritischen Blick auf meine ExcelChart UDF werfen (den Link findest Du unten in "Meine Werke").

  • Dein ExcelChart werde ich mir noch anschauen, sobald der Kollege es eingesehen hat, die Stammdaten in einer Excel-Datei zu speichern (die er dann selber nach belieben ändern kann - ohne das ich jedesmal das Programm neu comipilieren muss .... )

    Aber mal was anderes : ich wollte mit GDI+ die Kennlinie zeichnen lassen. Mit KODA hab ich mir jetzt mal eine Dialog-Maske erstellt wie das ganze aussehen soll.

    Der Anwender bekommt die Pufferdaten des akt. Puffers angezeigt - dazu auch die Kennlinie(n).

    Über Eingabefelder sollen dann Werte des Puffers geändert werden können und die dazugehörenden Kennlinien neu gezeichnet werden.

    ... so zumindest der Plan :)

    Wie krieg ich jetzt die Kennlinie in 'Group4' angezeigt ???

    GDI+ unterstützt kein Input, wie es GDI macht ...


    ... oder geht das ganz anders ? Ich brauch irgendwie mal nen Ansatz, wie das realisiert werden kann.

    Gruß Ralf

    • Offizieller Beitrag

    ... oder geht das ganz anders ? Ich brauch irgendwie mal nen Ansatz, wie das realisiert werden kann.

    Ja, das geht mit einem Pic-Control und etwas GDI+.

    Hier mal ein Beispiel:

  • WinAPISysWin.au3 ... wo finde ich die ?

    Ich hab die nämlich nicht ... hier im Forum scheint sie auch nicht zu sein und beim googlen wird das Word in 2 Wörter (WinAPI und SysWin.au3) geteilt - danach wird dann gesucht ... ich finds nicht.

    kannst du das bitte mal hochladen ?

    Danke

  • Die sollte eigentlich bei der Standardinstallation von der aktuellen AutoIt Version mitgeliefert sein.

    C:\Program Files (x86)\AutoIt3\Include - Sofern du den Standartpfad bei der Installation nicht verändert hast.

  • WinAPISysWin.au3 ... wo finde ich die ?

    Es gibt Hilfebeispiele, bei denen #include <WinAPISysWin.au3> eingebunden wird, z.B :

    _WinAPI_GetDesktopWindow

    aber weder im Changelog noch in der History findet man etwas zu WinAPISysWin.au3.

    Probiere stattdessen mal die WinAPI.au3 oder WinAPISys.au3

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."