Tak si opět trochu hraji. Pokusil jsem se do načteného obrázku pomoci AmigaDOSu a Multiview přes AmigaPython pomocí ESCAPE SEKVENCÍ zobrazit jednoduchý text. Jenom obrázek se mi načetl do nového okna a text do konzole v které se mi zobrazuje program. Zatím buď můžu hodit obrázek do virtuálního zařízení NIL a načte se mi obrázek a text - každé v jiném okne jak jsem psal, nebo nepoužiju virtuální zařízení NIL a načte se mi obrázek, a po breaknutí (Ctrl + C) se mi načte text (oboje v různých oknách jako u použití zařízení NIL). Takže teď nevím, jestli ten obrázek můžu načíst i do samotné konzole v Pythonu a né do nového okna popřípadě jestli se dá opět vstoupit do již otevřeného nového okna, v kterém se mi zobrazil daný obrázek.
NIL: - Datová "černá díra" - toto zařízení je symbolem pro "nic", data se v něm prostě ztrácejí, což je někdy výhodné (viz podkapitola o přesměrování výstupu).
Což je dobře popsáno v kapitole 1.8.4.
Pegasos II (1266MHz), 2048MB RAM, Radeon 9250 (256MB), HDD 200GB, USB 2.0, ZIP250 USB, USB floppy, SB Live!, HP LaserJet 1100, AmigaOS 4.1 Final Edition
Jó díky tohle jsem četl. Virtuální zařízení neexistuje = "nic". Ještě pak jsem se s tím trochu hrál, předpokládám, že pomocí AmigaDOSu můžu obrázek jen otevřít, ale AmigaPythonem ho nemůžu překreslit = 2 různa okna (1 konzole programu v AmigaPythonu, 1 v současne době Multiview) Tak nějak jsem doufal, zmagořen z toho, že jsem zatím pod Pythonem dělal jen s jedným oknem, že by jsem mohl Pythonem to okno Multiviewu alespoň překreslit. Ale to jsou 2 různé věci a má to tedy logiku, že to takhle nefunguje. Takže současný stav je taký, že hudba je v pohodě. To nevadí, pokud hraje na pozadí... Obrázek můžu zobrazit, ale to je vše a test stisku klávesy jsem zatím neřešil a když to budu potřebovat, kouknu na to. Ale i tyhle maličkosti, co mi zpřístupnil AmigaDOS potěší.
Tak jsem dneska laboroval, jak bych odchytil stisk klávesy (bez enteru) v mém uživatelsky přívětivém AmigaPythonu ) Základní myšlenka byla se stisk klávesy pokusit odchytit bez nějakého dalšího programu. Pohořel jsem samozřejmě u stisku samotného enteru. Pythoní příkaz raw_input() čeká až kým se ten enter nestiskne. Chtěl jsem se to pokusit nějak osr*t ale nepovedlo se mi to. Tak jsem zapátral na Aminetu, jenže tam jsem taky pohořel. Všechny programy co mi přišli pod ruku jen daný stisk klávesy zobrazují (i program rawkeys). Že by nějaký z těch co jsem skoušel i posílal info, které by se dalo zpracovat mi není známo. Dokonce jsem narazil i na program, který zaznamenáva průběh psaní a pozici myši do nějakého divného formátu a pak když jsem to dal přes ten program přehrát tak mi to i daní text hodilo do konzole (paráda to jsem opravdu "potřeboval" ) Napadá mne myšlenka nějakého jednoduchého programu běžícího na pozadí, který by dal nejlépe do paměti hodnotu stisknuté klávesy a to by se pak mohlo dát pomocí AmigaDOSu načíst? Jakože uložení hodnoty do souboru by taky fungovalo a taky bych to uměl zpracovat, ale tohle by už bylo zvěrstvo i na mne - a to jsem schopen hodně vecí ). Takže umím zpracovat jen samotný enter. Jedna klávesa mi ale nestačí. Žertíky tipu 1 krát enter doleva a 2 krát enter doprava doufám zůstanou jen v mé hlavě
Konečně jsem si RawKeys odzkoušel a vidím, že jde o jen o GUIčkovou záležitost. To skutečně není vhodná utilita... díval jsem se po Aminetu a namísto toho našel "KeyPressed". Pokud umíš z prostředí Pythonu zjistit chybový kód, KeyPressed by ti měl pomoct. Jako parametr si tato utilita bere kód klávesy a podle toho, zda jsi zmáčknul tu pravou nebo ne vrací RC=5 nebo 0.
Jo to by mohlo být to co potřebuji, musel bych ještě vyzkoušet a na to to potřebuji nejdříve rozběhat. Nepovedlo se mi, aby se vracel RC 5 nebo 0, zatím pořád jenom 10 ... ) Tedy zkouším to zatím spíše pod Pythonem - v něm jsem více "doma". Zkusil jsem to i v Shelly pod OS3, ale třeba jsem psal něco špatně - je v příkladu víceřádkový skript a tyhle konvence zápisu neznám.. Ono mi to něco dělá, pokud zadám pouze keypressed, hodí chybu 10, pokud přidám parametr třeba klávesy F1 = 80, tak to chybu nehodí, ale že by mi to nějak reagovalo s příkazem IF WARN a dál už nemůžu říci.
No tak mám v hlavě takovou jednoduchou se čtverečkovou grafikou Řešením těhle věcí se odreagovávám, nebo pokud se mi nechce hlavou přemýšlet nad ATEconvert No a dělal jsem i testy v rychlosti vykreslovaní čtverečků pomocí ECAPE SEKVENCí a nevypadá to špatně, takže by se to možná dalo použít na animaci (to by byla legrace ).
Chapes dobre - ma tam preklep a este aj chybu, pretoze najprv sa pise nazov logickeho zvazku ( Texty: ) a potom cesta k nemu a ty si tam navyse pridal este aj medzeru do cesty "SYS: Docs/Texts", co je tiez chyba.
Ja by som to pisal takto:
Assign Texty: SYS:Others/Texts
Miesto cesty "SYS:Others/Texts" ti teraz staci zadat "Texty:"
Skus si dat Assign ? - vypise ti dalsie moznosti tohto prikazu..
PS: Musel som editovat, lebo ked tu zadam za sebou znaky ":" a "D", automaticky da smajlika, koli tomu som zmenil Docs za Others.
Ak to chces vidiet v reale, otvor si subor startup-sequence z adresara Workbench:S/startup-sequence v textovom editore, napr. ED. Tam je par Assignov, ktore pouziva system (aj ine programy).
PS: Musel som editovat, lebo ked tu zadam za sebou znaky ":" a "D", automaticky da smajlika, koli tomu som zmenil Docs za Others.
No a to je ten důvod, proč jsem tam udělal chybu (dal do textu mezeru )
Díky zúčastněným za rady
Dělám si z AmigaDOSu takový všeobecný přehled. Abych měl alespoň šajnu co umí a co ne. Když něco konkrétnější budu potřebovat, abych se k tomu mohl vrátit. Uvidím, jestli to dočtu celé. Třeba to budu mít místo pohádky na dobrou noc )
AmogaDOS je super věc, v podstatě je to další forma programovacího jazyka... záleží jen na tom, jaké tam máš příkazy... On nebyl problém ani něco kreslit graficky do okna shellu
Komentovat