In 'ROBO Pro Coding' kann ich zusätzliche Quellcode Dateien anlegen und darin Funktionen definieren, die im Hauptprogramm unter Importe als Blöcke verwendet werden können. Nun sammeln sich dort allgemeine Funktionen, die auch in anderen Projekten nützlich wären, wenn man sie importieren könnte und nicht neu schreiben müsste.
Ich habe schon viele Erweiterungen mit MakeCode programmiert und in GitHub veröffentlicht, Python ist neu für mich.
Wie programmiere ich wieder verwendbaren Code, der in andere Projekte geladen werden kann?
Vielen Dank
Lutz
ROBO Pro Coding Quellcode (mit Blöcken) extra speichern und in andere Projekte importieren
Forumsregeln
Bitte beachte die Forumsregeln!
Bitte beachte die Forumsregeln!
ROBO Pro Coding Quellcode (mit Blöcken) extra speichern und in andere Projekte importieren
I²C für Calliope, TXT 4.0 und RX Controller.
https://git.fischertechnik-cloud.com/users/i2c/projects
https://git.fischertechnik-cloud.com/users/i2c/projects
- phg-berlin
- Beiträge: 58
- Registriert: 12 Mär 2024, 20:22
- Wohnort: Berlin
- Kontaktdaten:
Re: ROBO Pro Coding Quellcode (mit Blöcken) extra speichern und in andere Projekte importieren
Hallo Lutz,
das ist ein sehr berechtigtes Anliegenmit dem ich mich auch beschäftigt habe. Die Antwort ist leider: Geht nur sehr eingeschränkt.
Meine Idealvorstellung ist, das es möglich ist, irgendwo eine Datei abzulegen, in der solche Universalfunktionen definiert sind. Um dann in beliebigen Projekten darauf zugreifen zu können. Hierbei sollten dann Änderungen in der Quelle automatisch (ohne neue Verküpfungsaktion) übernommen werden. Das ist leider auch in der nächsten Version nicht in Sicht.
Momentan kannst Du nur folgendermaßen vorgehen: Klicke im Hamburger-Menü auf Ansicht/Neues Fenster. Dann kannst Du parallel zum aktiven Projekt ein beliebiges anderes (mit den zu nutzenden Funktionen) öffnen. Dort dann die gewünschte Funktion markieren (anklicken) und im Kontextmenü (rechte Maustaste) auf Kopieren klicken. Zurück in das Zielprojekt. Dort auf eine freie Stelle klicken und im Kontextmenü auf "Hier einfügen". Dann hast Du dort eine Kopie. Natürlich mußt Du aufpassen, dass die Variablen und sonstigen Verweise auf Aktoren/Sensoren auch passen. Wegen der in Blockly fehlenden lokalen Variablen kann es da Probleme geben. Änderungen an der Quellfunktion werden natürlich nicht automatisch in das Zielprojekt übernommen. Am Besten probierst Du das erstmal aus. Weitere Fragen beantworte ich gerne.
Grüße
Horst
das ist ein sehr berechtigtes Anliegenmit dem ich mich auch beschäftigt habe. Die Antwort ist leider: Geht nur sehr eingeschränkt.
Meine Idealvorstellung ist, das es möglich ist, irgendwo eine Datei abzulegen, in der solche Universalfunktionen definiert sind. Um dann in beliebigen Projekten darauf zugreifen zu können. Hierbei sollten dann Änderungen in der Quelle automatisch (ohne neue Verküpfungsaktion) übernommen werden. Das ist leider auch in der nächsten Version nicht in Sicht.
Momentan kannst Du nur folgendermaßen vorgehen: Klicke im Hamburger-Menü auf Ansicht/Neues Fenster. Dann kannst Du parallel zum aktiven Projekt ein beliebiges anderes (mit den zu nutzenden Funktionen) öffnen. Dort dann die gewünschte Funktion markieren (anklicken) und im Kontextmenü (rechte Maustaste) auf Kopieren klicken. Zurück in das Zielprojekt. Dort auf eine freie Stelle klicken und im Kontextmenü auf "Hier einfügen". Dann hast Du dort eine Kopie. Natürlich mußt Du aufpassen, dass die Variablen und sonstigen Verweise auf Aktoren/Sensoren auch passen. Wegen der in Blockly fehlenden lokalen Variablen kann es da Probleme geben. Änderungen an der Quellfunktion werden natürlich nicht automatisch in das Zielprojekt übernommen. Am Besten probierst Du das erstmal aus. Weitere Fragen beantworte ich gerne.
Grüße
Horst
Re: ROBO Pro Coding Quellcode (mit Blöcken) extra speichern und in andere Projekte importieren
Danke für den Erfahrungsbericht. Dass ich einen Block kopieren und auf einer anderen Seite einfügen kann, habe ich erst heute gemerkt. Dass die App in mehreren Instanzen zu öffnen geht, ist auch sehr wichtig. Natürlich schreibe ich Programme (von meinem eigenen Code) irgendwo ab. Dazu muss ich das Vorbild aber auch sehen können.
Mir wäre aber schon geholfen, wenn ich nur Python Code ohne Blockly-Blöcke wiederverwenden könnte. Es muss doch möglich sein eigene Quellcodedateien .py genau so wie
from fischertechnik.logging import log as print
importieren zu können. Geht das vielleicht vom fischertechnik GitLab. Dort sind die Projekte ja schon gespeichert.
Wie kann ich also von meinem eigenen GitLab Repository importieren.
Ich habe das bei GitHub mit MakeCode massenweise gemacht, für Calliope.
FG Lutz
Mir wäre aber schon geholfen, wenn ich nur Python Code ohne Blockly-Blöcke wiederverwenden könnte. Es muss doch möglich sein eigene Quellcodedateien .py genau so wie
from fischertechnik.logging import log as print
importieren zu können. Geht das vielleicht vom fischertechnik GitLab. Dort sind die Projekte ja schon gespeichert.
Wie kann ich also von meinem eigenen GitLab Repository importieren.
Ich habe das bei GitHub mit MakeCode massenweise gemacht, für Calliope.
FG Lutz
I²C für Calliope, TXT 4.0 und RX Controller.
https://git.fischertechnik-cloud.com/users/i2c/projects
https://git.fischertechnik-cloud.com/users/i2c/projects
- phg-berlin
- Beiträge: 58
- Registriert: 12 Mär 2024, 20:22
- Wohnort: Berlin
- Kontaktdaten:
Re: ROBO Pro Coding Quellcode (mit Blöcken) extra speichern und in andere Projekte importieren
Hallo Lutz,
ich bin leider nicht sicher, ob ich Dich richtig verstehe.
Du kannst doch in der RPC-Programmieroberfläche im linken vertikalen Menü auf Projektkonfiguration gehen und dort Python-Programmierung einstellen. Und in GitLab (mit dem ich noch auf Kriegsfuß stehe) direkt nur auf die .py-Quellen zugreifen.
Der Python-Editor von ft ist ja dann leider sehr unkomfortabel aber es ist doch sicher möglich, mit einem anderen Editor zu arbeiten und das Ergebnis dann mit cut and paste zu übernehmen. Da ich keinerlei Python-Erfahrung habe, weiß ich nicht, wie gut man auf eigene Bibliotheken zugreifen kann. Insbesondere wie das dann direkt auf dem Controller klappt. Man kann ja auf den über ssh bzw. ein FTP-Programm zugreifen. Dazu musst Du übrigens auf dem Controller über Einstellungen /Fernzugriff (ganz unten) SSH einschalten.
Horst
ich bin leider nicht sicher, ob ich Dich richtig verstehe.
Du kannst doch in der RPC-Programmieroberfläche im linken vertikalen Menü auf Projektkonfiguration gehen und dort Python-Programmierung einstellen. Und in GitLab (mit dem ich noch auf Kriegsfuß stehe) direkt nur auf die .py-Quellen zugreifen.
Der Python-Editor von ft ist ja dann leider sehr unkomfortabel aber es ist doch sicher möglich, mit einem anderen Editor zu arbeiten und das Ergebnis dann mit cut and paste zu übernehmen. Da ich keinerlei Python-Erfahrung habe, weiß ich nicht, wie gut man auf eigene Bibliotheken zugreifen kann. Insbesondere wie das dann direkt auf dem Controller klappt. Man kann ja auf den über ssh bzw. ein FTP-Programm zugreifen. Dazu musst Du übrigens auf dem Controller über Einstellungen /Fernzugriff (ganz unten) SSH einschalten.
Horst