DEUTSCHE VERSION |
|
Links | | | Forums | | | Comments | | | Report news |
Chat | | | Polls | | | Newsticker | | | Archive |
amiga-news.de Forum > AROS und Amiga-Emulatoren > RUN >NIL: | [ - Search - New posts - Register - Login - ] |
-1- 2 | [ - Post reply - ] |
2013-02-05, 23:12 h angel77 Posts: 832 User |
Wenn ich mich recht erinnere ist RUN >NIL: <NIL: ... absolut äquivalent zu RUN <>NIL: ... Oder? vlg, @ngel (EDIT: Und ja, die Frage ist echt dämlich ... aber trotzdem leider ernst gemeint ... ) @ngel [ Dieser Beitrag wurde von angel77 am 05.02.2013 um 23:44 Uhr geändert. ] [ - Answer - Quote - Direct link - ] |
2013-02-06, 00:11 h geit Posts: 332 [Former member] |
Ja, ist identisch. Geit [ - Answer - Quote - Direct link - ] |
2013-02-06, 00:15 h angel77 Posts: 832 User |
@geit: Danke Geit. Wieder ein paar Zeichen gespaart, die der Rechner nicht einlesen muss. Geil! (Sowas kann glaub ich auch keiner verstehen ... *lach*) vlg, @ngel [ - Answer - Quote - Direct link - ] |
2013-02-06, 12:57 h Holger Posts: 8116 User |
Zitat:Mehr als das. Die beiden Befehle machen nämlich nicht dasselbe. RUN >NIL: <NIL: ... öffnet zwei Dateien, eine für die Ein- und eine für die Ausgabe. RUN <>NIL: ... öffnet dagegen eine Datei, die sowohl für die Ein- als auch die Ausgabe verwendet wird. Da es sich immer um NIL: handelt, bewirkt es am Ende dasselbe, aber letzteres ist trotzdem —unabhängig von der kürzeren Befehlszeile— minimal schneller und verbraucht möglicherweise auch etwas weniger Speicher. -- Good coders do not comment. What was hard to write should be hard to read too. [ - Answer - Quote - Direct link - ] |
2013-02-06, 13:08 h angel77 Posts: 832 User |
Super Erklärung Holger, dankeschön. Noch ne dämliche Frage, ich weiß, aber sind dir auf Grund des ja doch eher gewaltigen Unterschiedes jemals irgendwelche Inkompatibilitäten zwischen beiden Varianten unter gekommen? vlg, @ngel [ - Answer - Quote - Direct link - ] |
2013-02-06, 13:11 h Thore Posts: 2266 User |
Wenn beidesmal NIL: angegeben wird, verhält es sich nach außen hin genau gleich, wie geit sagte. Wie Holger sagte, die erste Version öffnet eben zwei Dateien für In- und Output. Da es aber bei NIL: ein Handler ist, der die Eingaben nicht speichert, ist der Speicher-Mehrverbrauch minimal. Die zweite Variante ist jedoch trotzdem schöner [ - Answer - Quote - Direct link - ] |
2013-02-06, 13:43 h angel77 Posts: 832 User |
Ok, danke Thore. Da Mehrverbrauch aber nunmal Mehrverbrauch ist, teile ich deine Meinung, dass die zweite Variante schöner ist. Und darüber hinaus sogar besser. Eine weitere Frage, über die ich mich auch schon damals immer gewundert habe: Es gibt auch Programmierer, die angeben, dass man ein Programm xyz so aufrufen soll: RUN >NIL: <NIL: xyz >NIL: <NIL: Das ist doch doppelt gemoppelt, oder? vlg, @ngel [ - Answer - Quote - Direct link - ] |
2013-02-06, 14:01 h Thore Posts: 2266 User |
Nein. Die Redicrection muss immer VOR den Parametern stehen. Damit ist die erste Redirection für den Run Befehl (z.B. Returncode Ausgabe, Fehlermeldung des Systems), und die zweite für das Programm (Ein-/Ausgaben des Programms). [ - Answer - Quote - Direct link - ] |
2013-02-06, 14:18 h angel77 Posts: 832 User |
Ahhhhh ... *kopfklatsch* Da hätte ich eigentlich auch selbst drauf kommen können. Danke für deine geduldigen Ausführungen. vlg, @ngel [ - Answer - Quote - Direct link - ] |
2013-02-06, 14:21 h Thore Posts: 2266 User |
Für das eine gibts das Forum mit wissenden (und manchmal halbwissenden) Leuten, und für das andere das AmigaDOS Handbuch [ - Answer - Quote - Direct link - ] |
2013-02-06, 14:42 h angel77 Posts: 832 User |
Im Amiga DOS Handbuch habe ich zwar den Hinweis zu >NIL: beim Befehl RUN gefunden. Aber leider keine weiterführenden Ausführungen dazu. Oder ich habe an der falschen Stelle gesucht. Gibt es eigentlich eine aktuellere Version des AmigaDOS Handbuchs als die mir vorliegende vom A1200er? vlg, @ngel [ - Answer - Quote - Direct link - ] |
2013-02-06, 14:51 h thomas Posts: 7718 User |
Zitat: Das war bei Kick 1.3 so. Seit 2.0 kann die Umleitung auch hinten stehen. code:list sys: >ram:liste.txt Funktioniert einwandfrei. -- Email: thomas-rapp@web.de Home: thomas-rapp.homepage.t-online.de/ [ - Answer - Quote - Direct link - ] |
2013-02-06, 14:55 h Holger Posts: 8116 User |
Zitat:Wobei sich das AmigaDOS dabei inkonsistent zu verhalten scheint: handelt es sich bei der Umleitung für den RUN-Befehl um CON: oder NIL:, dann erbt der auszuführende Befehl die Umleitung. In diesem Fall ist die zweite Umleitung also unnötig. Wird allerdings in eine gewöhnliche Datei umgeleitet, schreibt der RUN-Befehl nur sein „[CLI n]“ in diese Datei, während die Ausgabe des Befehls nicht umgeleitet wird. Der RUN-Befehl ist sowieso ein Sonderfall. Für alle anderen Befehle ist es nämlich egal, wo in der Zeile die Umleitung steht. -- Good coders do not comment. What was hard to write should be hard to read too. [ - Answer - Quote - Direct link - ] |
2013-02-06, 15:17 h Thore Posts: 2266 User |
@Holger + thomas Ja stimmt, bei 1.x muss es direkt dem Befehl nachfolgen. Ich denk der Aufruf stammt aus der 1.x Zeit, und da ist es korrekt wies angegeben wird. Ab 2.x ist es egal wo es sich befindet. [ - Answer - Quote - Direct link - ] |
2013-02-06, 16:18 h angel77 Posts: 832 User |
@Holger: Ob das auch für alle anderen Geräte gilt? (Wie z.Bsp. SER: oder PAR: ...) vlg, @ngel [ - Answer - Quote - Direct link - ] |
2013-02-06, 23:22 h geit Posts: 332 [Former member] |
Natürlich geht das auch mit SER:, PAR:, TCP:, PRT: NPAR:, NPRT: und anderen Devices. Genau dafür sind die nämlich da Nur kommt da nicht zwangweise etwas an, wenn man <SER: verwendet, oder >PAR: wartet sich tod, weil kein Handshake von der Gegenstelle kommt und die Daten im Puffer stecken bleiben. Mit run >SER: c:list gibst du die Liste über den Seriellen Port aus. Wenn du an der Gegenstelle auf dem anderen Rechner ein Terminal startest, kannst du das Verzeichnisslisting dort sehen. Geit [ Dieser Beitrag wurde von geit am 06.02.2013 um 23:25 Uhr geändert. ] [ - Answer - Quote - Direct link - ] |
2013-02-07, 00:51 h angel77 Posts: 832 User |
@geit: Ja, das ist schon klar Geit. Trotzdem danke für die Ausführung. Meine Frage bezog sich jetzt auf die von Holger angesprochene Inkonsistenz. vlg, @ngel [ - Answer - Quote - Direct link - ] |
2013-02-07, 12:01 h Holger Posts: 8116 User |
Zitat:Für SER: gilt das jedenfalls. Ich vermute mal, dass es für alle Geräte gilt, die eine bidirektionale Verbindung aufbauen und somit die Funktion einer Konsole erfüllen können. Wenn man beispielsweise RUN >CON: TYPE * ausführt, dann liest der neue Prozess auch aus der neu erzeugten Konsole, obwohl ja eigentlich nur die Ausgabe des RUN-Befehls umgeleitet wurde. Vermutlich ein Kompatibilitätshack aus der Zeit, als es die Syntax <>CON: für eine bidirektionale Umleitung noch nicht gab. Für normale Dateien gilt das nicht und für PIPE: beispielsweise auch nicht. -- Good coders do not comment. What was hard to write should be hard to read too. [ - Answer - Quote - Direct link - ] |
2013-02-07, 14:10 h angel77 Posts: 832 User |
@Holger: Cool, Holger. Die Ausgabe nach CON: kann ich hier nachvollziehen, aber wie kann ich nachvollziehen, dass er auch liest? Und ist es möglich, dass die neue Konsole geöffnet bleibt bis ich sie selbst schließe? vlg, @ngel [ - Answer - Quote - Direct link - ] |
2013-02-07, 18:26 h Holger Posts: 8116 User |
Zitat:Das macht mein Beispiel-Befehl: TYPE * liest von der Konsole (Datei „*“) und gibt wieder auf der Konsole aus. Einfach mal ein paar Zeilen eingeben… Zitat:Sie sollte zumindest solange offen sein, wie das Programm sie geöffnet hält. Ansonsten gilt die allgemeine Syntax: CON:x/y/breite/höhe/titel/flags Als Flags kommen in Frage: WAIT - Fenster wird nicht geschlossen, wenn das Programm die Datei schließt CLOSE - Fenster bekommt ein Schließsymbol AUTO - Fenster wird erst geöffnet, wenn ein Programm tatsächlich schreibt oder liest, und kann zwischendurch auch wieder geschlossen werden Die Workbench-Funktion „Befehl ausführen“ benutzt genau deshalb die Kombination AUTO/CLOSE, um ein Fenster nur wenn nötig zu öffnen, aber auch Meldungen so lange stehen zu lassen, bis der Benutzer sie wegklickt. Also, RUN >CON:////Hallo/WAIT/CLOSE ECHO Bla öffnet ein Fenster mit Standard-Position und Größe, das wartet, bis Du es schließt. Im übrigen: wenn ein Programm noch läuft und Du das Schließsymbol betätigst (bei CLOSE, nicht bei AUTO) wird ein Dateiende an das Programm gesendet, wenn es gerade liest. So wird auch obiger TYPE-Befehl beendet. Wenn es kein Schließsymbol gibt, erfüllt die Tastenkombination CTRL denselben Zweck. Die Tastenkombination ist besonders nützlich für das Fenster der Bootshell, wenn während das Bootens eine Fehlermeldung angezeigt wird und die Workbench nicht zurückgesetzt werden kann. Dieses Fenster hat nämlich die ungewöhnliche Flag-Kombination AUTO/NOCLOSE. Da hilft Fenster aktivieren und o.g. Tastenkombination drücken. Selbst wenn danach neue Ausgaben kommen, wird das Fenster zwischenzeitlich geschlossen (und im Idealfall dann auf neuem Workbench-Screen geöffnet). -- Good coders do not comment. What was hard to write should be hard to read too. [ - Answer - Quote - Direct link - ] |
2013-02-08, 10:27 h angel77 Posts: 832 User |
@Holger: Ja Hammer, Holger. Da sind echt immer noch einige Sachen bei, die ich nicht (mehr) weiß. Du könntest gut ein Buch schreiben. "*" hast du aber als Wildcard angegeben, oder bin ich "PC-verseucht"? Und "" finde ich bei der deutschen Tastaturbelegung wo? Ich muss gestehen, dass ich mir so langsam eine PC-Belegung wünschen würde ... schlimm, was die Jahre aus einem machen ... vlg, @ngel [ - Answer - Quote - Direct link - ] |
2013-02-08, 11:01 h Holger Posts: 8116 User |
Zitat:Ja, bist Du Der * steht beim Amiga für die aktuelle Konsole. Das heißt, TYPE * benutzt die aktuelle Konsole als anzuzeigende Datei und gibt, wie immer, auch auf der Konsole aus, das heißt, es wiederholt Deine Eingaben. Bei CON: allerdings immer erst nachdem Du Enter gedrückt hast. Zitat:Auf der original Tastatur links von der Backspace Taste. Auf einer PC-Tastatur gibt es diese Taste nicht. Da versuchst Du am besten, gemäß der PC-Belegung die Kombination AltGr und Taste rechts neben der 0 und hoffst, dass WinUAE die Taste umsetzt. Zitat:Na ja, ich hab lange der Amiga-Tastatur hinterhergetrauert und vermisse auch heute noch einiges. Aber andererseits benutze ich jetzt schon ne ganze Weile das NEO2-Tastaturlayout und würde nicht mehr zu TYPEWRITER-optimierten Belegungen zurückkehren wollen. Und ich kann mir kaum vorstellen, wie eine Kombination, die die Vorteile von Amiga-Tastaturen und NEO2 vereinen könnte, aussehen soll. -- Good coders do not comment. What was hard to write should be hard to read too. [ - Answer - Quote - Direct link - ] |
2013-02-08, 11:07 h Holger Posts: 8116 User |
Nachtrag: bei AmigaDOS gibt es ein systemweites Flag, das man setzen kann, um den Stern als Platzhalter wie bei anderen Systemen, sprich als Alternative zu „#?“ zu verwenden. Das kann man mit diversen Utilities setzen, sollte man sich aber gut überlegen. Dann bedeutet nämlich RAM:* „alle Dateien in der RAM-Disk“, ein alleinstehender * dagegen in den meisten Zusammenhängen „aktuelle Konsole“, es sei denn, es kann nicht die Konsole gemeint sein (im Suchmuster-Eingabefeld in einem ASL-Requester z.B.), dann bedeutet es doch „alle Dateien“. -- Good coders do not comment. What was hard to write should be hard to read too. [ - Answer - Quote - Direct link - ] |
2013-02-08, 20:35 h angel77 Posts: 832 User |
Ja, die verschiedenen "Wildstar Tools" sind mir noch von damals bekannt. Aber nett, dass du es nochmal erwähnst. Ich hab das sogar aktiviert, allerdings frag ich mich grad auch wofür eigentlich ... Damals auf dem 1200er war das essentiell, weil nämlich die "#" Taste ganz einfach nicht ging. Warum auch immer. Das Problem hatte ich bis ich die 4000er Tastatur dran hatte ... Die "" Taste funktioniert übrigens nicht ... Ich frage mich ob es nicht eine Tastaturbelegung speziell für WinUAE gibt, die praktisch das PC Keyboard so anspricht wie es ist mit der Möglichkeit die Tasten im besten Fall noch beliebig zu remappen. Sowas ist dir nicht zufällig bekannt, oder? Davon ab spiele ich gerade ernsthaft mit dem Gedanken ob es nicht eine gute Idee sein könnte mir eine CDTV Tastatur für die Emulation zuzulegen. Immerhin ist die schick schwarz und würde somit gut zu meinem sonstigen Setup passen. Dann stellt sich allerdings die Frage wie ich die an den PC anschließen soll. Es gab ja mal diese Catweazel MK3 und MK4. Aber ich entsinne mich eigentlich nur an Berichte, dass die Karten nie so richtig funktioniert haben. Im BBoAH wird ja nur geschrieben was vermutlich auch auf dem Klappentext stehen würde, wenn die Karten eine vernünftige Verpackung hätten ... Damit kennst du dich nicht zufällig aus, oder? Die 4000er Tastatur war mir eigentlich immer die liebste Tastatur, eben weil sie genau wie eine Schreibmaschinentastatur ist. Normalerweise bin ich aber ganz froh über mein Natural Ergonomic Keyboard 4000 von Microsoft. (Da ist die 4000 ja zumindest im Namen). Und das wollte ich haben, seit es auf den Shots der Amiga Plus mit drauf war ... Trotzdem, so eine CDTV Tastatur wäre schon was schönes ... Du bist nämlich nicht der einzige der da stellenweise bis heute was vermisst. Könnte natürlich sein, dass sich das Gefühl ganz schnell ins Gegenteil verkehrt, wenn man die erstmal wieder in den Händen hält ... Was dieses NEO2 Dingens sein soll weiß ich allerdings so garnicht. Würdest du mich mal aufklären bitte? Hört sich nämlich irgendwie interessant an ... vlg, @ngel [ - Answer - Quote - Direct link - ] |
2013-02-10, 20:27 h Holger Posts: 8116 User |
Zitat:Jetzt, wo Du fragt, fällt es mir doch auch glatt wieder ein. Guckst Du einfach im „Amiga Programs“ Ordner Deiner WinUAE Installation. Und wie ich da so gucke, sehe ich, dass es zusätzlich zur altbekannten „UAE_German“ Tastaturbelegung auch noch eine ZIP-Datei „German_KeyMap_new“ gibt. Auszug aus dem dort enthaltenen ReadMe: Zitat:Interessant finde ich an dieser Stelle die Information, dass es einen Hack gibt, der nicht unbedingt immer aktiv sein muss. Wie auch immer. Jetzt kannst Du ja das gesamte ReadMe lesen und/oder beides ausprobieren und eine Entscheidung treffen. Zitat:Siehe http://de.wikipedia.org/wiki/Neo_%28Tastaturbelegung%29 http://www.neo-layout.org/ -- Good coders do not comment. What was hard to write should be hard to read too. [ - Answer - Quote - Direct link - ] |
2013-02-16, 23:58 h angel77 Posts: 832 User |
@Holger: Wirklich vielen Dank für die Informationen bezüglich der mitgelieferten Keymaps Holger. Die waren mir bisher garnicht aufgefallen. Ich werde die jetzt gleich mal ausprobieren. Mal sehen was von beidem besser funktioniert. Die Sache mit dem Hack hab ich auch gerade gesehen, jedoch kann ich leider nicht wirklich etwas mit der Ansage: "Weiters sollte die <#>-Taste der PC-Tastatur auf 0x2B gesetzt werden, [...]" anfangen. Weißt du was damit gemeint ist? Danke auch für die Links. Ich habe mich zwischenzeitlich ziemlich ausführlich damit beschäftigt. Und ich muss sagen, dass sich das in der Theorie alles tatsächlich sehr fantastisch anhört. Allerdings bin ich in der Praxis anscheinend zu sehr an das gängige Schema gewöhnt (ja, ich kann 10-Finger-Schreiben). Aber ich kann nach der umfangreichen Lektüre sehr gut verstehen, dass vor allem für dich als Programmierer das Neo-Layout wirklich einige gravierende Verbesserungen beherbergt, die ich vermutlich an deiner Stelle auch nicht mehr missen wollen würde. Und du benutzt das tatsächlich? Wie lange hat denn die Umgewöhnung gedauert? Also im Prinzip müsste man einen "neuen" Lernkurs machen denke ich mal. vlg, @ngel EDIT: Übrigens, sorry, dass es dieses Mal so lange mit der Antwort gedauert hat. Aber ich hatte die letzten paar Tage hier immer etwas anderes um die Ohren, so dass ich zwar die News-Seite überflogen habe und auch den ein oder anderen kurzen Kommentar abgegeben hatte, aber leider nicht bis hierher vorgedrungen war. Und vor allem wollte ich dir nicht nur kurz zwischen Tür und Angel antworten, das wäre dem Umfang deiner bisherigen Hilfestellungen einfach nicht gerecht geworden. [ Dieser Beitrag wurde von angel77 am 17.02.2013 um 00:01 Uhr geändert. ] [ - Answer - Quote - Direct link - ] |
2013-02-18, 10:22 h Holger Posts: 8116 User |
Zitat:Ich schätze mal, es geht um das Mapping, das man unter „Input“ einstellen kann. Allerdings schreiben aktuelle Versionen von WinUAE die Bezeichnungen für Standard-Tasten aus, statt KeyCodes zu verwenden. Man müsste also erst mal nachschlagen, was KeyCode 2B ist… Zitat:Wenn man vorher 10-Fingerschreiber war und sich nicht verschlechtern will, muss man wahrscheinlich so ein Training machen. Übungen, die man selbstständig durchführen kann, gibt es ja. Ich habe allerdings keine Übungen gemacht und verwende stattdessen eine entsprechend beschriftete Tastatur, wobei ich inzwischen wahrscheinlich auch 80% blind tippen könnte. Also anders gesagt, hatte ich nach ein paar Wochen (ohne spezielles Training) einen Stand, der mindestens genausogut wie der mit der alten Tastatur war. Interessant dabei ist, dass man wirklich schon sehr schnell merkt, wie zu einem Zeitpunkt, zu dem eigentlich alles noch unvertraut ist, beim Schreiben einige häufige Alltagswörter einfach flutschen. Ich mein’, bei der Original-Typewriter-Schreibmaschinen kann man „Typewriter“ schreiben, ohne dass die Finger die obere Reihe verlassen müssen. Bei der Neo-Tastatur kannst Du „Andererseits ist diese Tastatur Standard“ schreiben, ohne die Mittelreihe zu verlassen. Zitat:Hehe, das ist vollkommen in Ordnung. Das ist der Sinn des Forums, dass man schreiben kann, wenn es einem passt. -- Good coders do not comment. What was hard to write should be hard to read too. [ - Answer - Quote - Direct link - ] |
2013-02-18, 13:09 h angel77 Posts: 832 User |
@Holger: Ich glaube ich bleibe wohl besser bei der mir gewohnten Verteilung der Tasten ... Was mich allerdings interessieren würde ist wo du die Tastatur mit der speziellen Beschriftung herbekommen hast. Oder hast du dir die mit dafür vorgesehenen Tastaturaufklebern selbst erstellt? Was den WinUAE betrifft habe ich jetzt erstmal die von dir erwähnte WinUAE_D Keymap aktiviert und bin eigentlich ganz zufrieden damit. Das mit dem Input Tab hab ich mir auch gedacht. Ich meine mich auch zu entsinnen, dass dort bei früheren Versionen des Emulators auch die Möglichkeit bestand wirklich alle Tasten und Taster, die an den Computer angeschlossen sind, frei nach Gusto belegt werden können. Aber in der aktuellen finde ich dort nur die Belegungen für das Gamepad. Daher bin ich diesbezüglich momentan etwas verwirrt ... Ist jetzt aber wie gesagt auch nicht dringlich, da die andere Belegung zu funktionieren scheint. Was leider immer noch nicht funktioniert sind zwei Dinge: Einmal der vertikale Strich. (Wichtig für ASCII Art in ReadMe-Dateien) Zum zweiten die Eingabe von "". (Wichtig für die "Center Line" Funktion in CygnusED). Dafür habe ich bisher noch keine Lösung gefunden. vlg, @ngel [ - Answer - Quote - Direct link - ] |
2013-02-18, 18:16 h Holger Posts: 8116 User |
Zitat:Für erste Tests, ob das ganze überhaupt was bringt, habe ich tatsächlich eine Tastatur beklebt. Allerdings habe ich dann eine speziell angefertigte Tastatur geschenkt bekommen. Ich schätze mal, dass es da einen Kunden-/ Interessentenkreis gibt, der noch größer ist, als der für Windows-Tasten-Ersatz und dass da eine Google-Suche Angebote zutage bringen würde. Allerdings, da es, wie gesagt, ein Geschenk war, recherchiere ich da nicht weiter. Zitat:Du musst in der oberen Combobox von „Gameports“ auf „Konfiguration #n“ umschalten. Zitat:War das nicht der Ausgangspunkt? Welches Problem hat denn die neue Tastaturbelegung überhaupt gelöst, wenn nicht das, welches der Grund für die ganze Aktion war? -- Good coders do not comment. What was hard to write should be hard to read too. [ - Answer - Quote - Direct link - ] |
2013-02-19, 14:20 h Palgucker Posts: 1342 User |
@angel77: Der "Backslash" >< sollte eigentlich "Alt" + "ß" zu finden sein, funktioniert bei mir merkwürdiger Weise nur mit der linken Alt-Taste. Der vertikale Strich >|< mit "Alt" + "<". Um sich einen Überblick oder auch mehr zu verschaffen, könnte EditKeys_v1.63 hilfreich sein. Wie (und warum) man den Raw Key "<#>-Taste der PC-Tastatur auf 0x2B" mappt, wüsste ich auch gern, bei mir gibt die #-Taste gleich 3 Werte aus (60 64 3), wobei letztere relevant ist und eigentlich passt. Alle anderen Werte passen so wie hier angegeben. Gruß Palgucker [ - Answer - Quote - Direct link - ] |
-1- 2 | [ - Post reply - ] |
amiga-news.de Forum > AROS und Amiga-Emulatoren > RUN >NIL: | [ - Search - New posts - Register - Login - ] |
Masthead |
Privacy policy |
Netiquette |
Advertising |
Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved. |