Hi Again.
Now Ive done some More Function, 1 that breaks up a String over Multiple Lines, And then Another Function that 'Wraps' the Lines to make it look neat...
List of Commands
` ------------------------------------------------------------------------------------------------------------------------------
` Commands : Return Value : Discription
` -------------------------------------- : ----------------------- : -----------------------------------------------------------
` - String Commands -------------------- : ----------------------- : -------------------------------------------------------------------------
` RegisterWordEnd(String$) : : Register a Chr which Will be Counted As Space
` EmptyWordEndList() : : Empty the Registered Chr's for WordEnd
` WordEndChr(String$) : : Check to See if a Chr Is a 'WordEnd' Chr
` GetFirstWord(String$) : First Word : Get the First Word from a String
` GetLastWord(String$) : Last Word : Get the Last Word from a String
` SplitStringBefore(String$,Chr) : String Before Chr : Split a String at Chr And Return The String Before This Chr
` SplitStringAfter(String$,Chr) : String After Chr : Split a String at Chr And Return The String After This Chr
` GetWordAfterChr(String$,Chr) : Word After Chr : Get from a Chr Number, to the End of the Word
` GetWordBeforeChr(String$,Chr) : Word Before Chr : Get from a Chr Number, to the Word, Before Chr
` Reverse(String$) : Reversed String : Reverse a String
` NumberOfWords(String$) : Number of Words : Number of Words in the String
` SearchStringForChr(String$,Letter$) : Mid$ Location of Letter : Search a String for a Chr, Return Value = Mid$(String$,Letter)
` ExtractFromChr(String$,Letter$) : String from Letter : Extract a String from a String, From Chr 'Letter$'
` LocationOfWord(String$,Wn) : Mid$ Location of Word : Mid$ Location of the Start of a Word
` GetWord(String$,Wn) : Word as String : Get Word Number Wn From String$
` EncryptString(String$) : Messed Up String : Mess up the String
` DecryptString(String$) : Restored String : Restore the String
` RemoveChrFromString(String$,Letter$) : String Without 1 Letter : Remove the First Chr to Match Letter$ in the String
` RemoveAllChrFromString(Strng$,Chr$) : String Without Letter : Remove ALL of a certain Chr from a String
` AddAfterChr(String$,Add$,Chr) : Updated String : Add a Letter at Mid$ Point
` Join(String1$,String2$) : 2 Strings Joined : Join 2 Strings Together in an Easy in
` - TextList Commands ------------------ : ----------------------- : --------------------------------------------------------------
` MakeTextList(String$,Width) : Number of Lines : BreakUp a String to a Given Width over Multipal Lines
` WrapTextList() : Number of Limes : Wrap... Use this after [MakeTextList()] to Wrap the List Contents
` TextList(0) : The Origional String : The Origional String
` TextList(#) : 1 Line of String : # = Line Number
` ------------------------------------------------------------------------------------------------------------------------------
Just out of curiosity, are these commands useful to anyone?
Code Here
`
` DarkBasic String Commands
`
` By Michael Mihalyfi
` MSon648@Hotmail.com
`
` As I like Coding, Additional String Commands are Always Useful.
`
` There are Several Functions Here All Listed Below, But Im thinking
` of Making a MultiLine TextBox Using the TextList Commands as with
` these you give it a String and a Width and It breaks up the string
` to the Width over multipul lines...
`
` When you Use [MakeTextList] the Codes NOT Wrapped, So use the Wrap
` Command to sort that out :-)
`
` Some of the 'Word' Commands still need to be fixed though.
` Ie: GetWord("String Here",2) This would get the 2nd Word, Being "Here"
`
` ------------------------------------------------------------------------------------------------------------------------------
` Commands : Return Value : Discription
` -------------------------------------- : ----------------------- : -----------------------------------------------------------
` - String Commands -------------------- : ----------------------- : -------------------------------------------------------------------------
` RegisterWordEnd(String$) : : Register a Chr which Will be Counted As Space
` EmptyWordEndList() : : Empty the Registered Chr's for WordEnd
` WordEndChr(String$) : : Check to See if a Chr Is a 'WordEnd' Chr
` GetFirstWord(String$) : First Word : Get the First Word from a String
` GetLastWord(String$) : Last Word : Get the Last Word from a String
` SplitStringBefore(String$,Chr) : String Before Chr : Split a String at Chr And Return The String Before This Chr
` SplitStringAfter(String$,Chr) : String After Chr : Split a String at Chr And Return The String After This Chr
` GetWordAfterChr(String$,Chr) : Word After Chr : Get from a Chr Number, to the End of the Word
` GetWordBeforeChr(String$,Chr) : Word Before Chr : Get from a Chr Number, to the Word, Before Chr
` Reverse(String$) : Reversed String : Reverse a String
` NumberOfWords(String$) : Number of Words : Number of Words in the String
` SearchStringForChr(String$,Letter$) : Mid$ Location of Letter : Search a String for a Chr, Return Value = Mid$(String$,Letter)
` ExtractFromChr(String$,Letter$) : String from Letter : Extract a String from a String, From Chr 'Letter$'
` LocationOfWord(String$,Wn) : Mid$ Location of Word : Mid$ Location of the Start of a Word
` GetWord(String$,Wn) : Word as String : Get Word Number Wn From String$
` EncryptString(String$) : Messed Up String : Mess up the String
` DecryptString(String$) : Restored String : Restore the String
` RemoveChrFromString(String$,Letter$) : String Without 1 Letter : Remove the First Chr to Match Letter$ in the String
` RemoveAllChrFromString(Strng$,Chr$) : String Without Letter : Remove ALL of a certain Chr from a String
` AddAfterChr(String$,Add$,Chr) : Updated String : Add a Letter at Mid$ Point
` Join(String1$,String2$) : 2 Strings Joined : Join 2 Strings Together in an Easy in
` - TextList Commands ------------------ : ----------------------- : --------------------------------------------------------------
` MakeTextList(String$,Width) : Number of Lines : BreakUp a String to a Given Width over Multipal Lines
` WrapTextList() : Number of Limes : Wrap... Use this after [MakeTextList()] to Wrap the List Contents
` TextList(0) : The Origional String : The Origional String
` TextList(#) : 1 Line of String : # = Line Number
` ------------------------------------------------------------------------------------------------------------------------------
Set Display Mode 1024,768,32
Dim TextList(999) As String
Dim RegisteredWordEndStrings$(0)
RegisterWordEnd("")
RegisterWordEnd(" ")
RegisterWordEnd(",")
String$ = "DarkBasic String Commands"
Print "Origional Line = "+String$ : Print
Print "Add 'y' After Chr 4 = "+AddAfterChr(String$,"y",4) : Print
Print "Split Before Chr 9 = "+SplitStringBefore(String$,9) :
Print "Split After Chr 11 = "+SplitStringAfter(String$,11) :
Print "Split From Chr 'B' = "+ExtractFromChr(String$,"B") : Print
Print "Get First Word = "+GetFirstWord(String$) :
Print "Get Last Word = "+GetLastWord(String$) : Print
Print "Word From Chr 5 = "+GetWordAfterChr(String$,5) :
Print "Word Before Chr 14 = "+GetWordBeforeChr(String$,14) : Print
Print "Reverse = "+Reverse(String$) : Print
Print "Number of Words = "+Str$(NumberOfWords(String$)) : Print
Print "Location of Chr 'd' = "+Str$(SearchStringForChr(String$,"d")): Print
Print "Location of Word 2 = "+Str$(LocationOfWord(String$,2)) :
Print "2nd Word = "+GetWord(String$,2) : Print
w$=EncryptString(String$)
Print "Encrypt String = "+w$ :
Print "Decrypt String = "+DecryptString(W$) : Print
Print "Remove First Letter S = "+RemoveChrFromString(String$,"S") :
Print "Remove All Letter 'a' = "+RemoveAllChrFromString(String$,"a") : Print
Print : Print
Print : Ln=MakeTextList("String Break up, Could 'Possibley' be used for a Multi-Line TextBox... It Would Proberly Be Best 'Wrapped' (Don't you Think)... By Michael Mihalyfi - MSon648@Hotmail.com :-)",250)
Print "Text Width 250 = "+Str$(Ln)+" Lines"
Print "Origional Line = "+TextList(0) : Print
For n=1 To Ln
Print "Line "+Str$(n)+" = "+TextList(n)
Next n
Print : Print "Wrapped..."
Ln=WrapTextList()
For n=1 To Ln
Print "Line "+Str$(n)+" = "+TextList(n)
Next n
Print
Print "Press Any Key to Continue..."
Sync
Wait Key
End
` String Commands
Function RegisterWordEnd(String$)
` Use to Register a Chr as 'WordEnd', Usual = ""
` " "
` ","
n = Array Count(RegisteredWordEndStrings$())
Add To Stack RegisteredWordEndStrings$()
RegisteredWordEndStrings$(n)=String$
EndFunction
Function EmptyWordEndList()
Empty Array RegisteredWordEndStrings$()
EndFunction
Function WordEndChr(String$)
For We=1 To Array Count(RegisteredWordEndStrings$())-1
If String$=RegisteredWordEndStrings$(We) Then ExitFunction 1
Next We
EndFunction 0
Function GetFirstWord(String$)
For L=1 To Len(String$)
If WordEndChr(Mid$(String$,L))=1 Then ExitFunction W$
W$=W$+Mid$(String$,L)
Next L
EndFunction ""
Function GetLastWord(String$)
For L=Len(String$) To 1 Step -1
If WordEndChr(Mid$(String$,L))=1 Then ExitFunction W$
T$=W$
W$=Mid$(String$,L)+T$
Next L
EndFunction ""
Function SplitStringBefore(String$,Chr)
For L=1 to Chr
W$=W$+Mid$(String$,L)
Next L
EndFunction W$
Function SplitStringAfter(String$,Chr)
For L=Chr To Len(String$)
W$=W$+Mid$(String$,L)
Next L
EndFunction W$
Function GetWordAfterChr(String$,Chr)
For L=Chr To Len(String$)
If WordEndChr(Mid$(String$,L))=1 Then ExitFunction W$
W$=W$+Mid$(String$,L)
Next L
EndFunction ""
Function GetWordBeforeChr(String$,Chr)
For L=1 To Chr Step -1
If WordEndChr(Mid$(String$,L))=1 Then ExitFunction W$
T$=W$
W$=Mid$(String$,L)+T$
Next Letter
EndFunction ""
Function Reverse(String$)
For L=Len(String$) To 1 Step -1
W$=W$+Mid$(String$,L)
Next L
EndFunction W$
Function NumberOfWords(String$)
T=1
For L=1 To Len(String$)
If WordEndChr(Mid$(String$,L))=1 Then Inc T
Next L
EndFunction T
Function SearchStringForChr(String$,Letter$)
For L=1 To Len(String$)
L$=Mid$(String$,L)
If Letter$=L$ Then ExitFunction L
Next Letter
EndFunction 0
Function ExtractFromChr(String$,Letter$)
NewString$=SplitStringAfter(String$,SearchStringForChr(String$,Letter$))
EndFunction NewString$
Function LocationOfWord(String$,Wn)
WnS=1
For L=1 To Len(String$)
If WordEndChr(Mid$(String$,L))=1 Then Inc WnS
If WnS=>Wn Then ExitFunction WnS
Next L
EndFunction 0
Function GetWord(String$,Wn)
For L=LocationOfWord(String$,Wn) To Len(String$)
If WordEndChr(Mid$(String$,L))=1 Then ExitFunction W$
W$=W$+Mid$(String$,L)
Next L
EndFunction ""
Function MakeTextList(String$,Width)
` TextList(0) = Origional String
` TextList(1) => String Line
` Return Value = Number of Lines
TextList(0)=String$
Ln= 1
For L=1 To Len(String$)
If Text Width(TextList(Ln))=>Width
Inc Ln
EndIf
TextList(Ln)=TextList(Ln)+Mid$(String$,L)
Next L
For E=Ln+1 To Array Count(TextList())
TextList(E)=""
Next E
EndFunction Ln
Function WrapTextList()
For Ln=1 To Array Count(TextList())
If WordEndChr(TextList(Ln))=0
W$=GetLastWord(TextList(Ln))
W=Len(W$)
TextList(Ln)=Left$(TextList(Ln),Len(TextList(Ln))-Len(W$))
TextList(Ln+1)=W$+TextList(Ln+1)
EndIf
Next Ln
L=0
For Ln=1 To Array Count(TextList())
If TextList(Ln)<>"" Then L=Ln
Next Ln
EndFunction L
Function EncryptString(String$)
For L=1 to Len(String$)
W$=W$+Chr$(Rnd(1000))
W$=W$+Mid$(String$,L)
Next Letter
EndFunction W$
Function DecryptString(String$)
For L=2 to Len(String$) Step 2
W$=W$+Mid$(String$,L)
Next L
EndFunction W$
Function RemoveAllChrFromString(String$,Letter$)
Do
T=0
For L=1 To Len(String$)
If Letter$=Mid$(String$,L)
String$ = Left$(String$,L-1)+Right$(String$,Len(String$)-L)
L=Len(String$)+1
T=1
EndIf
Next L
If T=0 Then ExitFunction String$
Loop
EndFunction ""
Function RemoveChrFromString(String$,Letter$)
For L=1 To Len(String$)
If Letter$=Mid$(String$,L)
String$ = Left$(String$,L-1)+Right$(String$,Len(String$)-L)
ExitFunction String$
EndIf
Next L
EndFunction Strings$
Function AddAfterChr(String$,Letter$,Chr)
String$ = Left$(String$,Chr)+Letter$+Right$(String$,Len(String$)-Chr)
EndFunction String$
Function Join(S1$,S2$)
S$=S1$+S2$
EndFunction S$