Motto: Pařim E! Jó to je ale kuřba...
Když mi pracovitost nesežere ta zkurvená lenost, tak jednoho dne Vám
představim zcela převratnej traker z kterýho budete totálně na prach!
(Píšu ho, jak jste jistě pochlempili, v éčku.) Teď ale už k věci...
Malá ukázka toho, jak lze v Amige E otevírat "inteligentně"
ASLFilerequester. Funguje to tak, že pro otevření Filerq. se zavolá
jednoduchá funkce, která vrátí kód podle toho, jak byla úspěšná. Tento
kód se uloží do globální proměné, což využívá funkce pro uzavření freq..
Abych nezapoměl. Funkce 'RequestFile(req)' vrací do struktury "filerequester" zvlášť cestu k souboru a zvlášť jeho jméno. Proto jsem musel dát dohromady funkci 'join_path()', která spojí tyto dva řetězce do jediného a vrátí ho jako výsledek své práce.
Tu ja bigen:
MODULE 'Asl', 'libraries/Asl', -> nahrajem si potřebný inklůdy 'dos/dos' DEF req:PTR TO filerequester, -> ukazatel na strukturu filerequester errASL:LONG, -> proměná pro uložení návrat. kódu po -> otevření filereq. pathfile[512]:STRING -> řetězec pro uložení cesty a jména souboru PROC main() -> havní program (funkce main()) errASL := openASL() -> otevřem si filereq. IF errASL = 2 -> vše je ok join_path(req, pathfile) -> spojíme cestu se jménem souboru WriteF('Vybrán soubor: \s\n', pathfile) -> vypsání hlášky... ELSEIF errASL = 1 -> nevybral se žádnej soubor WriteF('Vybrals prd...\n') -> hláška ELSE -> něco je nefachčenko... WriteF('ERROR 311. Call Mulder and Sculy!\n') -> h. ENDIF closeASL() -> kill ASL =|:^) ENDPROC -> konec programu -> A nyní si dáme pár procedur. -> tahle spojuje dva řetězce dohromady PROC join_path(areq:PTR TO filerequester, stri:PTR TO CHAR) DEF pom[1]:STRING -> pomocnej jednoznakovej řetězec stri := StrCopy(stri, areq.drawer, ALL) RightStr(pom, stri,1) -> načti poslední znak cesty do pom -> když TO nekončí na '/' , '' nebo ':' IF (StrCmp(pom,':',1) OR StrCmp(pom,'/',1) OR StrCmp(pom,'',1)) = FALSE StrAdd(stri,'/') -> bude nutný přidat lomítko ENDIF stri := StrAdd(stri, areq.file, ALL) -> spojení cesty s názvem souboru SetStr(stri, StrLen(stri)) -> konverze string - estring ENDPROC stri PROC openASL() -> otevře ASL.Library a vše ostatní IF aslbase:=OpenLibrary('asl.library',37) -> -1 = nelze otevřít asl IF req:=AllocFileRequest() -> 0 = nelze ot. filereq. IF RequestFile(req) -> 1 = nevybrán soubor RETURN 2 -> 2 = vše OK ELSE -> co sem to zas vymyslel za ujetý kódy? RETURN 1 ENDIF ELSE RETURN 0 ENDIF ELSE RETURN -1 ENDIF ENDPROC PROC closeASL() -> uzavře filereq. podle kódu v errASL IF errASL = 2 OR errASL = 1 FreeFileRequest(req) CloseLibrary(aslbase) ELSEIF errASL = 0 CloseLibrary(aslbase) ENDIF ENDPROCToť vše. Využití si už najděte sami. Já to balim...
E.N.I.F.
Zdroják v použitelným stavu najdeš v bunusu.Instrukce procesorů 680xx, APtoÉÉ - pouhej začátek |
Vokecávky | Hardware | Warez | WBoviny | Dema | Gfx&Muz | Pařby | Vokecávky 2 |