
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
ENDPROC
Toť 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 |