#1 Stuky
… a proč ne třeba takto … (!?) …
Dim myText$
Private Function Change(ByRef Vstup As String, _
ByRef Hledany As String, _
ByRef Meneny As String, _
ByRef Styl As VbCompareMethod, _
Optional ByRef Start As Variant, _
Optional ByRef Max As Variant, _
Optional ByRef nPocet As Variant) As String
Dim Lm&, Lz&, La&, ss&
nPocet = 0
If IsMissing(Start) Then Start = 1
Change = Vstup
Lm = Len(Hledany)
Lz = Len(Meneny)
La = Len(Change)
ss = InStr(Start, Change, Hledany, Styl)
If IsMissing(Max) Then
Do Until ss = 0
La = Len(Change)
If (La + 1 - ss - Lm) > 0 Then
Change = Left(Change, ss - 1) & Meneny & Right(Change, La + 1 - ss - Lm)
Else
Change = Left(Change, ss - 1) & Meneny
End If
ss = InStr(ss, Change, Hledany, Styl)
nPocet = nPocet + 1
DoEvents
Loop
Else
Do Until ss = 0
La = Len(Change)
If (La + 1 - ss - Lm) > 0 Then
Change = Left(Change, ss - 1) & Meneny & Right(Change, La + 1 - ss -Lm)
Else
Change = Left(Change, ss - 1) & Meneny
End If
ss = InStr(ss, Change, Hledany, Styl)
nPocet = nPocet + 1
If Max = nPocet Then Exit Do
DoEvents
Loop
End If
End Function
Private Sub Command1_Click()
Dim nVar As Variant
nVar = Change(myText, "auto", "KOLO", vbTextCompare)
MsgBox nVar
End Sub
Private Sub Form_Load()
myText = "najdi slovo a zaměnit za jiné, protože je to pěkné auto , které jezdí mezi auty" & _
" spolu s autoBusy . Které auto jezdí do Prahy a nazpět, některá auta jsou mezi auty malenké "
End Sub
Příspěvky odeslané z IP adresy 188.175.112.–
Začal bych od nejjednodušších "věcí" … až po ty složitější …
Deklarací mám kolem 7000 .. Problém ale spočívá v tom, že nyní MS dost funkcí "očesal",
např. původní knihovna pro VB 5.0 byla kolem 1,3 MB, ale nyní je kolem ~600 kB ...
D e k l a r a c e … vypadají asi takto … a bez nich to nejde !
Public Declare Function GetLogicalDriveStrings Lib "kernel32" Alias "GetLogicalDriveStringsA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
Public Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Hm …
Ano, matematika je velmi důležitá, pokud chceš programovat ...
… jen malý příklad : … sorry, prostě něco musíš nabiflovat, ale ostatní je už na fantazii …
CALL … volání procedury (funkce)
Sub Velikonoce()
MsgBox EasterDate(2019) , 64 , "velikonoce 2019 ..."
End Sub
'Zjištění datumu velikonoc
Function EasterDate(ByVal Year As Integer) As Date
Dim G As Integer
Dim C As Integer
Dim H As Integer
Dim i As Integer
Dim j As Integer
Dim L As Integer
Dim Month As Integer
Dim Day As Integer
G = Year Mod 19
C = Year \ 100
H = ((C - (C \ 4) - ((8 * C + 13) \ 25) + (19 * G) + 15) Mod 30)
i = H - ((H \ 28) * (1 - (H \ 28) * (29 \ (H + 1)) * ((21 - G) \ 11)))
j = ((Year + (Year \ 4) + i + 2 - C + (C \ 4)) Mod 7)
L = i - j
Month = 3 + ((L + 40) \ 44)
Day = L + 28 - (31 * (Month \ 4))
EasterDate = DateSerial(Year, Month, Day)
End Function
Klíčová slova (* jen výběr)
Abs
And
Any
As
Boolean
ByRef
ByVal
Call
Case
CBool
CCur
CDate
CDbl
CDecl
CInt
CLng
Close
Const
CSng
CStr
CurDir
Currency
CVar
CVDate
CVErr
Date
Debug
Declare
DefBool
DefCur
DefDate
DefDbl
DefInt
DefLng
DefObj
DefSng
DefStr
DefVar
Dim
Dir
Do
Double
Each
Else
ElseIf
Empty
End
EndIf
Eqv
Erase
Error
Exit
False
Fix
For
Format
FreeFile
Function
Get
Go
GoSub
GoTo
If
Imp
In
Input
InputB
Instr
InstrB
Int
Integer
Is
LBound
Len
LenB
Let
Like
Lock
Long
Loop
LSet
Mid
MidB
Mod
Name
Next
Not
Nothing
Null
Object
On
Open
Option
Optional
Or
ParamArray
Preserve
Print
Private
Property
Public
Put
ReDim
Rem
Resume
Return
RSet
Seek
Select
Set
Sgn
Shared
Single
Spc
Static
Stop
StrComp
String
Sub
Tab
Then
To
True
Type
UBound
Unlock
Until
Variant
Wend
While
Width
With
Write
Xor
#15 Dumbo
… a proč nepoužít např. funkci ?
Rem: RND (náhodné) číslo = v rozsahu od "min" - do "max"
Public Function numRND_minMAX(Optional MinValue As Long = 10, _
Optional MaxValue As Long = 1000) As Long
On Error Resume Next
Randomize Timer
numRND_minMAX = Int((MaxValue - MinValue + 1) * Rnd) + MinValue
End Function
Dumbo.
Programování je o myšlení. Takže programovací jazyk je až v druhé řadě …
Nemáš asi dobrého učitele, sorry … (jen jsem četl vše shora napsané …)
Napřed, pokud opravdu chceš, a pokud zde aktuálně mluvíme o VB (Visual Basic), pak se nauč napřed
všechna klíčová slova VB (ver.5, 6), pak musíš zvládnout dobře i matematiku, češtinu taktéž (rodný jazyk) …
Hm … věděl bych jak na to … věděl ...
Nějak mi to pořád nejde mohl bys prosím ukázat v praxi jak to vypadá alespoň na tom pokusu s jednou větou předem díky
zdravim potreboval bych poradit nebo spis pomoct mame do skoly vypracovat program, kde budeme mit dva textovy soubory v jednom budou zadany nejaky slova a v druhym jakykoliv text a program ma v druhem textovem souboru najit slova ktera budou zadana v v tom prvnim a potom je vypsat diky za kazdou pomoc