Code archives/Miscellaneous/Put some string in bank !
This code has been declared by its author to be Public Domain code.
Download source code
| |||||
You can use memory like file, only for text file ! | |||||
Type Abk_Bank Field Bank Field Size Field WritePointer Field ReadPointer End Type MyBank=ABK_CreateBank() fileinput=ReadFile("Readme.txt") While neo eof(fileinput) a$=ReadLine(fileinput) ABK_AddStringToBank(MyBank,a$) wend closefile fileinput For i=1 To 10 Print "["+ABK_ReadBankLine$(MyBank)+"]" Next WaitKey Function ABK_CreateBank() B.Abk_Bank=New Abk_Bank B\Bank=CreateBank(0) B\Size=0 B\WritePointer=0 B\ReadPointer=0 Return Handle(B) End Function Function ABK_AddStringToBank(BankID,StringLine$) B.Abk_Bank=Object.Abk_Bank(BankID) Local Tmp_Pointeur=B\WritePointer B\Size=BankSize (B\Bank) StringLine$=StringLine$+Chr$(13) ResizeBank B\Bank,B\Size+Len(StringLine$)*2 For i=1 To Len(StringLine$) B\WritePointer=B\WritePointer+1 PokeByte( B\Bank,Tmp_Pointeur+B\WritePointer,Asc(Mid$(StringLine$,I,1))) Next End Function Function ABK_ReadBankLine$(BankID) B.Abk_Bank=Object.Abk_Bank(BankID) Local Tmp_Pointeur=B\ReadPointer Repeat B\ReadPointer=B\ReadPointer+1 TmpByte=PeekByte(B\Bank,Tmp_Pointeur+B\ReadPointer) If TmpByte<>13 Then Extract$=Extract$+Chr$(TmpByte) Else Return Extract$ EndIf Forever End Function Function ABK_ClearBank(BankID) B.Abk_Bank=Object.Abk_Bank(BankID) ResizeBank B\Bank,0 End Function Function ABK_KillBank(BankID) B.Abk_Bank=Object.Abk_Bank(BankID) FreeBank B\Bank Delete B End Function |
Comments
None.
Code Archives Forum