DEUTSCHE VERSION |
|
Links | | | Forums | | | Comments | | | Report news |
Chat | | | Polls | | | Newsticker | | | Archive |
amiga-news.de Forum > Programmierung > Wie kann man einen Dosbefehel von Amos aufrufen | [ - Search - New posts - Register - Login - ] |
-1- | [ - Post reply - ] |
2008-04-25, 19:18 h pelztier Posts: 208 User |
Hei Leute, der titel sagt eigentlich schon alles über meine Frage aus. Hab im Netz nix passendes dazu gefunden und probiere es deshal mal hier. Ich möchte zb in der startup-sequence mit einem Amos-Prog den Status einer Taste oder was auch immer abrufen und jenachdem nun eine Batchdatei und/oder nen dosbefehl ausführen lassen. wie ich in beiden richtungen parameter übergebe wäre auch interessant. nen kleines beispiel wäre nett + hilfreich, im handbuch habe ich zu diesem thema nix gefunden. gruß pelz -- "Ich weiß nicht immer wovon ich rede, aber ich weiß, dass ich Recht habe." - Muhammad Ali [ - Answer - Quote - Direct link - ] |
2008-04-25, 19:52 h Blackbird Posts: 634 User |
@pelztier: da ich die AMOS-befehle nicht kenne, kann ich dir nur den Tipp geben dir einen Beispielsource zu suchen der "execute" aufruft... Ansonsten solltest du dir mal die gesammelten Werke aus dem Aminet im Verzeichnis dev/amos ansehen und studieren, da ist mit 99%iger Sicherheit was dabei -- regards Blackbird Have a look at: http://www.blackbird-net.de Skins for PlayCD OS3.9 BlackShoot, Zombies Apocalypse, GalagaWars, VcdImager-Gui,PerfectPaint [ - Answer - Quote - Direct link - ] |
2008-04-25, 22:28 h Der_Wanderer Posts: 1229 User |
Nimm doch Amiblitz. Da würde das Prog so aussehen: code:If RawStatus($xx) ret.l = Execute_ ("blablabla.exe -param1 1234",0,0) End if End Menu=>Create Executable und fertig. Wobei $xx die RAW-ID der Taste ist, die du abfragen willst. Das wäre schon alles. Wobei ich mir beim Execute nicht sicher bin, da musst du nochmal im RKM gucken was das zurückgibt. In AMOS wird das Prinzipiell genauso gehen, falls AMOS OS Funktionen aufrufen kann. -- Thilo Köhler, Author von: HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr... Homepage: http://www.hd-rec.de [ - Answer - Quote - Direct link - ] |
2008-04-26, 01:26 h pelztier Posts: 208 User |
hallo nochmal. danke für die schnellen antworten! ob amos das überhaupt unterstützt weiß ich halt nicht. sowas wie "ret.l = Execute_ ..." sagt mir garnix und im handbuch von amos hab ich wie geschrieben auch nichts gefunden(hab mir amos irgentwann in den 90ern zugelegt, daher habe ich glücklicher weise das gedruckte orginal handbuch). im aminet wurde ich fast erschlagen von der sammlung von beispielen so das ich dachte hier schneller ne lösung zu bekommen/finden. werde ich halt doch nochmal das aminet durchkämen ... ist mit amiblitz blitzbasic gemeint? das wäre ne lösung denn das bekommt man ja (meines wissens) bei b2r umsonst. ich werde mal gucken - wenn sonst wem noch was einfällt, bloß raus damit gruß pelz -- "Ich weiß nicht immer wovon ich rede, aber ich weiß, dass ich Recht habe." - Muhammad Ali [ - Answer - Quote - Direct link - ] |
2008-04-26, 09:39 h Bjoern Posts: 1730 User |
Zitat: Kannst du das ein bisschen genauer beschreiben? Gruß, Björn [ - Answer - Quote - Direct link - ] |
2008-04-26, 11:40 h Mad_Dog Posts: 1944 User |
@pelztier: Welche AMOS-Version hast Du? Ich hab mal mein AMOS Pro Handbuch hervorgeholt. Im Kapitel 11.04.04 ist die Funktion EXEC beschrieben: basic code:Amos To Back : Rem Reveal the Workbench Rem Now launch the program in a small CLI widow Exec "Program_Name","CON:0/0/160/48/Program_Name" Amos To Front : Rem Return to AMOS Pro after the program -- http://www.norman-interactive.com [ Dieser Beitrag wurde von Mad_Dog am 26.04.2008 um 11:41 Uhr geändert. ] [ - Answer - Quote - Direct link - ] |
2008-04-26, 15:24 h pelztier Posts: 208 User |
@Mad_Dog: interessant, das hab ich mir gestern nacht noch von b2r gezogen. ich hab hier orginal und mit handbuch das amos the creator, also den vorläufer und sowas nicht gefunden in dem handbuch gibt es kein kapitel 11.04.04 und im index den von dir genannten befehl auch nicht amos pro ohne handbuch wird mir wohl aber auch nicht so viel bringen ? also wenn dann mal mehr oder anderes anliegt meine ich. aber damit müsste mir für das vorhaben geholfen sein. wäre halt schön das auch für das amos zu wissen das ich hier und gekauft hab. ich will letztlich mit verschiedenen tasten den amiga dazu bringen jenachdem was ich gedrückt halte die entsprechende arbeitsfläche zu starten. das ist nix prinzipel neues, aber das was dafür in frage kam und es schon gibt hat ständig nachteile oder funktioniert zb am a1200 nicht obwohl es am a4000 geht usw. und da ich amos hab dachte ich mir halt das macht man dann eben selber. gruß pelz -- "Ich weiß nicht immer wovon ich rede, aber ich weiß, dass ich Recht habe." - Muhammad Ali [ - Answer - Quote - Direct link - ] |
2008-04-26, 15:36 h DaxB Posts: 1422 User |
Ich benutze hier http://aminet.net/search.php?query=KeyPressed könnte vielleicht eine Alternative sein. [ - Answer - Quote - Direct link - ] |
2008-04-26, 16:10 h Mad_Dog Posts: 1944 User |
@pelztier: Amos Pro hat auch eine sehr vorbildliche Onlinehilfe. Aber generell solltest Du Dir eben überlegen, ob sich das noch lohnt, AMOS zu lernen, da es ja leider nicht mehr weiterentwickelt wird und wohl kaum noch aktive Benutzer gibt, die Dir weiterhelfen könnten, falls Du mal Fragen hast. Dein Problem könntest Du übrigens auch mit einem DOS-Skript lösen. -- http://www.norman-interactive.com [ - Answer - Quote - Direct link - ] |
2008-04-26, 21:31 h pelztier Posts: 208 User |
@Mad_Dog: ich möchte sobalt ich den powerknopf drücke nur zum beispiel die shift taste festhalten, damit dopus geladen wird. oder eben die normale wb3.9, eventuell auch abhängig davon ne andere user-startup. ohne fragen am prompt. das alles geht auch mit nur dos? wie frage ich da den zustand einer taste ab? mit promt und/oder requester ist das na klar kein problem. sowas soll aber nicht erscheinen. gruß pelz -- "Ich weiß nicht immer wovon ich rede, aber ich weiß, dass ich Recht habe." - Muhammad Ali [ - Answer - Quote - Direct link - ] |
2008-04-26, 21:42 h Mad_Dog Posts: 1944 User |
@pelztier: Ich dachte jetzt auch an ein Promt oder ein Requester. Ob und wie das mit einer Taste halten (mit DOS) geht, weiß ich im Moment auch nicht. -- http://www.norman-interactive.com [ - Answer - Quote - Direct link - ] |
2008-04-26, 21:59 h pelztier Posts: 208 User |
Zitat: danke auch für den tipp. werde ich mir gleich mal anschauen. überhaupt danke euch beiden für die schnelle hilfe. den traum vom großen programmierer hab ich schon vor jahren aufgegeben. mit amos hab ich mich vor jahren mal täglich beschäftigt, deshalb wäre es für sollche lösungen halt naheliegend gewesen. die amos pro lösung werde ich mir auch gleich nochmal ansehen. der lernaufwand ist ja nun auch nicht so umfangreich für kleine dinge. schönes we noch ! gruß pelz nochmal an DaxB: laut dem readme ist das genau das was ich gern selber mit amos realisieren wollte. hoffe das das prog auch auf jeden meiner amigas funktioniert. sowas selber zu machen reizt mich aber immer noch . wollte nur wissen lassen das beide tipps echt gut sind+weiter helfen! -- "Ich weiß nicht immer wovon ich rede, aber ich weiß, dass ich Recht habe." - Muhammad Ali [ Dieser Beitrag wurde von pelztier am 26.04.2008 um 22:16 Uhr geändert. ] [ - Answer - Quote - Direct link - ] |
2008-04-27, 10:36 h pelztier Posts: 208 User |
Hallo nochmal. hier noch nen nachtrag falls noch einer das problem haben sollte und mit amos lösen will. der befehl exec ist ab nem update von amos auf 1.36 verfügbar. das bekommt man auf back2theRoots gruß pelz -- "Ich weiß nicht immer wovon ich rede, aber ich weiß, dass ich Recht habe." - Muhammad Ali [ - Answer - Quote - Direct link - ] |
2008-04-28, 10:00 h Der_Wanderer Posts: 1229 User |
Die neueste Beta von Amiblitz3 gibts hier: http://amiblitz3.amiforce.de/index.php?action=3&cid=8 Sowohl das IDE als auch der Compiler sind um Welten besser als AMOS und auf die "neuen" Amigas angepasst. Dort hast du auch Zugriff auf die AmigaOS API, wo es z.B. den Befehl "Execute" gibt, und natürlich alles andere was im RKM steht. Es sind dir also nicht die Hände gebunden wenn dir irgendein Befehl fehlt, so wie in AMOS. Es gibt auch sog. Includes, das sind Funktionsbibliotheken, die in AB3 selbst geschrieben sind. Dort findest du so schöne Befehle wie ret.l = dos_RunCLI{exe.s,stacksize.l,priority.l,waitfinish.l,args.s} oder succ.l = dos_RunWB{filename.s} -- Thilo Köhler, Author von: HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr... Homepage: http://www.hd-rec.de [ - Answer - Quote - Direct link - ] |
2008-04-28, 15:54 h Mad_Dog Posts: 1944 User |
Zitat: Systemfunktionen kann man auch mit AMOS(Pro) benutzen, allerdings ist das dort IMHO ein ziemlicher Krampf. -- http://www.norman-interactive.com [ - Answer - Quote - Direct link - ] |
2008-04-28, 19:07 h pelztier Posts: 208 User |
@Der_Wanderer: das sieht alles hübsch aus und hört sich gut an, aber anscheint reicht für dieses basic meine hardware nicht aus? hab mir das vorhin mal gesaugt, entpackt und beim starten dann gleich ne fehlermeldung bekommen das ne bmp nicht zu laden/anzeigen geht. wenn ich nen example lade und compilieren und ausführen(run) wähle darf ich nen neustart machen. probiert auf : A4000 (desktop), 2mb chip und 16mb fastram, keine graka, kein ahi(hardware - software schon), aos 3.9, wahlweise Workbench / opus magellan 2 5.82, Prozessor 68030 mit fpu, patches: fblit, happyenv, icon- und workbench.library werden resident geladen(inoffizielle bb3 - update-versionen) sonstige hardware: HyperCom-karte + interner scandoubler,ide festplatte und cd-rom, ansonsten orginal schade, weil die arbeitsumgebung sieht SEHR professionel und gut aus. gruß pelz -- "Ich weiß nicht immer wovon ich rede, aber ich weiß, dass ich Recht habe." - Muhammad Ali [ - Answer - Quote - Direct link - ] |
2008-04-28, 20:21 h Der_Wanderer Posts: 1229 User |
@pelz Ohh, da fehlt dir scheinbar die zlib.library. Ohne Cybergraphics gibts wohl auch Probleme, da gab es schonmal einen Report. Aber das nutzt halt keiner der "Aktiven" mehr ohne Grafikkarte. Das IDE macht auch erst ab 1280x1024 richtig Spass, auf einen PAL screen geht das alles nicht drauf, der ist Schlichtweg zu klein für all die Features. Dann kann man aber immer noch Blitzbasic2 nehmen, das ist auch gratis. -- Thilo Köhler, Author von: HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr... Homepage: http://www.hd-rec.de [ - Answer - Quote - Direct link - ] |
2008-04-28, 22:05 h pelztier Posts: 208 User |
@Der_Wanderer: das ist korrekt(zlib fehlt)! mit der zlib kann ich es aber nochmals versuchen. die hab ich noch in errinerung weil ich die entweder für ein chat- oder sonstigen internetkram brauchte. im netz bin ich aber nur mit meinem 2ten amiga(is nen 1200, auch ohne graka, aber ne pcmcia netzkarte ist halt erschwinglich u daher auch dieser rechner noch interessant ) und so hat der a4000 die zlib nicht, da der nur seriel mit den anderen rechnern verbunden ist u ich die da für kein prog benötigte. die amiblitz3 - gui läd er aber. erst ab den start vom compiler zickt "es". ich berichte nochmal ob es vielleicht doch klappt mit der zlib. blitzbasic hab ich ansonsten wie erwähnt auch noch hier(wenn es dann doch nicht geht) und ansonsten:ne picasso spendier ich dem a4000 im laufe seines lebens eh noch - für seine bisher geleisteten dienste gruß pelz -- "Ich weiß nicht immer wovon ich rede, aber ich weiß, dass ich Recht habe." - Muhammad Ali [ - Answer - Quote - Direct link - ] |
2008-04-28, 23:57 h pelztier Posts: 208 User |
also es ist nicht grundsätzlich so das amiblitz3 nicht läuft. es scheint abhängig von den programmen zu sein die man comiliert(vermutlich gehen halt die nicht die andere hardware vorraussetzen). allein an der lib lag es also nicht und somit bleibt nur auf graka warten+lauern sowie bis dahin nen bissel mit blitzbasic spielen . danke für die infos gruß pelz -- "Ich weiß nicht immer wovon ich rede, aber ich weiß, dass ich Recht habe." - Muhammad Ali [ - Answer - Quote - Direct link - ] |
2008-04-29, 10:28 h Der_Wanderer Posts: 1229 User |
Achsoooo! Ja klar, du kannst natülrich kein Beispiel Program ausführen das eine Grafikkarte vorraussetzt. Wenn das hier geht: code:Print "Hallo Welt!" End Dann funktioniert AB3 selbst. Aber du kannst natürlich, genau wie in C oder anderen Sprachen, Executables erstellen die auf deinem System nicht laufen. Libraries sollte man natülrich grundsätzlich abchecken, ob die auch existieren. Das mache ich meistens auch, aber manchmal vergisst man das. BTW; wie kann man denn abchecken ob Cybergfx oder Picasso installiert ist? (also z.B. ob man ReadRGBPixel() benutzen darf? Die meisten Beispiele von mir sind auf Grafikkarte ausgelegt. Wenn man die Krätsche zwischen AGA und Graka hinbekommen will, muss man entweder viel Programmieren (also alles doppelt) oder man muss auf eine Menge verzichten. -- Thilo Köhler, Author von: HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr... Homepage: http://www.hd-rec.de [ - Answer - Quote - Direct link - ] |
2008-04-29, 15:41 h pelztier Posts: 208 User |
@Der_Wanderer: da fragst du genau den richtigen ich hab schon jahre lang nix programmiertechnisch gemacht. bin da nur drauf gekommen das es daran liegen kann weil die examples dementsprechende namen aufwiesen(cube simple usw) ein beispiel das nen simplen requester aufruft funktionierte am a4000 also muß folglich amiblitz ansich schon laufen. ich persönlich (bei meinem geringen wissen darüber)würde vermutlich das libs: verzeichnis am programmstart durchscannen lassen, ob dort vollständig die picassolibs vorhanden sind, in welcher auflösung die wb läuft oder änliches um festzustellen ob es überhaupt möglich ist das ne graka vorhanden ist. ist die umgebung dafür nicht vorhanden kann keine funktionierende graka da sein. gruß pelz -- "Ich weiß nicht immer wovon ich rede, aber ich weiß, dass ich Recht habe." - Muhammad Ali [ - Answer - Quote - Direct link - ] |
2008-04-29, 16:36 h Holger Posts: 8116 User |
Zitat:Wie jede andere Library auch?? Wenn Du wissen willst, ob eine BitMap oder ein Bildschirmmodus zum jeweiligen RTG-System gehört, gibt es eine entsprechende Funktion isBla(...) in der jeweiligen Library. mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Answer - Quote - Direct link - ] |
2008-04-29, 16:56 h Der_Wanderer Posts: 1229 User |
@Holger Ja, das ist das Tolle und das Blöde an Basic. Man muss nicht wie bei C die Libs bewusst öffnen, das erledigt das Basic für einen. Dann bekommt man aber nicht mit, wenn es die gar nicht gibt und der Aufruf oder die Folgen davon führen zum Crash. Deshalb checke ich in meinen Sourcecodes alle Libs ab, die ich verwende, aber ab und an vergisst man das, oder merkt es eben nicht weil man die libs selbst installiert hat. Speziell Cybergraphics habe ich nie überprüft, wird langsam zeit *duck*... "simple Cube" ist immerhin ein Demo, dass einen texturierten 3D Würfel roterien lässt (dessen Texturen teilweise sogar on-the-fly berechnet werden) auf einem Sternen-Hintergrund. Das Prog selbst ist simple, aber die Resourcen-Anforderungen nicht Fast alle Demos mit toller Grafik brauchen einen 24bit Screen, so ist das leider. Aber für AGA gibts ja AMOS oder Blitzbasic2, bzw. Amiblitz3 wenn man sich auf die Blitzbasic2 Befehle beschränkt. Es ist einfach unmöglich, eine Grafikengine zu schreiben die aus beiden Konzepten das Beste rausholt. -- Thilo Köhler, Author von: HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr... Homepage: http://www.hd-rec.de [ - Answer - Quote - Direct link - ] |
2008-04-29, 23:39 h pelztier Posts: 208 User |
Nochmals vielenDank für Eure freundliche Unterstützung ! -- "Ich weiß nicht immer wovon ich rede, aber ich weiß, dass ich Recht habe." - Muhammad Ali [ - Answer - Quote - Direct link - ] |
2008-05-02, 09:50 h Holger Posts: 8116 User |
Zitat:Nun, aber ich gehe doch davon aus, dass der Check darin besteht, OpenLibrary aufzurufen, und den Rückgabewert auszuwerten, oder? Zumindest die exec.library dürfte immer vorhanden sein. Das ist bei C und libauto auch nicht anders. In dem Moment, wo einen Library optional sein soll, funktioniert es nicht mehr automatisch. Natürlich könnte man einige Ressourcen sparen, wenn nicht jedes Programm die fast gleiche Liste benötigter Libraries öffnen und einen mehr oder weniger guten Code zur Fehlerbehandlung implementieren müsste. Aber das hat nix mehr mit Basic zu tun... mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Answer - Quote - Direct link - ] |
2008-05-02, 11:16 h Der_Wanderer Posts: 1229 User |
Ich würde gerne in Basic einen Befehl "CheckAllLib" haben, mit dem ich die verwendeten Libs testen kann und gegf. das Program abrechen. Problem sind halt nur die Libs, die man optional braucht. Z.B. im AudioConverter. Er kann MODs lesen, wenn die ptplay.library installiert ist. Wäre aber blöd, wenn das prog unbenutzbar ist, nur weil ich diese Lib nicht habe und sowieso keine MODs konvertieren will. Deshalb bin ich in meinen Includes dazu übergangen, die Libs selbst zu öffnen und die Funktionen via Macros aufzurufen anstatt sie in BlitzBasic Befehle zu konvertieren. Aber das mache ich natürlich nicht mit allen erdenklichen Libs, die schon in Blitzbasic integriert sind. Und CGX habe ich vergessen, abzuchecken. -- Thilo Köhler, Author von: HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr... Homepage: http://www.hd-rec.de [ - Answer - Quote - Direct link - ] |
2008-05-02, 16:14 h NoImag Posts: 1050 User |
Zitat: Basic könnte für die unterstützten (automatisch geöffneten) Libs immer vorhandene Variablen definieren, die das erfolgreiche Öffnen und die Versionsnummer enthalten. Bei AmiBlitz sollte es doch kein Problem sein, das einzubauen. Tschüß [ - Answer - Quote - Direct link - ] |
2008-05-02, 16:20 h Der_Wanderer Posts: 1229 User |
@NoImag Ja, sollte möglich sein. Evtl. könnte man auch eine Fehlermeldung einbauen, sobal ein solcher Befehl benutzt wird. Allerdings wird es dann schwierig vorherzusagen was das Program machen wird, vermutlich crashen. Aber dann gibts zumindes vorher einen Reuqester, warum. Wenn ich eine Variable auslese, ob die Lib offen ist, kann ich auch gleich "If OpenLibrary().." machen. Problem ist halt, dass man das eben meistens vergisst, oder zu faul ist das für alle verwendeten Libs zu machen. Dank Libbrowser kann man aber nachgucken, was man eigentlich alles verwendet. -- Thilo Köhler, Author von: HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr... Homepage: http://www.hd-rec.de [ - Answer - Quote - Direct link - ] |
2008-05-02, 16:31 h NoImag Posts: 1050 User |
Zitat: Ich dachte nur, dass das Abfragen einer Variablen effizienter ist als ein OpenLibrary()-Aufruf. Tschüß [ - Answer - Quote - Direct link - ] |
-1- | [ - Post reply - ] |
amiga-news.de Forum > Programmierung > Wie kann man einen Dosbefehel von Amos aufrufen | [ - Search - New posts - Register - Login - ] |
Masthead |
Privacy policy |
Netiquette |
Advertising |
Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved. |