Schamann.net

…děláme vJeci jinak…

Konverze HEX >> DEC

Ve visual Basicu, zda se, chybí konverzní funkce opačná k funkci Hex. Není to pravda. Jen to není popsané v učebnici.
Hex udelá z decimílního čísla číslo Hexadecimální.

da se vytvořit jednoduchá funkce:
Function HexToDec(HexValue As String) As Long
HexToDec = Val(“&H“ & HexValue)
End Function

která převede číslo z Hexa do Decimálního formátu.

Licence na MSCOMM32.OCX

Po registraci objektu MSCOMM32.OCX le nutné ho ještě zaregistrovat.

Verze VB6 Profesional by měla tuto knihovnu obsahovat a zde není nutná licence.

Pro ostní verze VB6 je Licencování následné:

Do registru je nutné zapsat tuto hodnotu:

[HKEY_CLASSES_ROOT\Licenses\4250E830-6AC2-11cf-8ADB-00AA00C00905]@ = "kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun"
Tím je licence vytvořena a objekt pracuje správně.
MSCOMM32.OCX je knihovna pro ovládání USB a COM portu na PC.

Err -2147217887

Chyba: “Operace s více kroky vedla k vytvoření chyb. Zkontrolujte všechny stavové hodnoty.“

je způsobena uložením prázdné hodnoty do DB do tabulky kde je očekávána hodnota konkretní délky nebo formátu.

např: do pole formátu DATE vkládám hodnotu NULL, nebo String

MSHFlexGrid a schránka

Tady je několik jednoduchých funkcí pro práci s MSHFlexGrid a schránkou – Kopírování dat do a z a podobné funkce.

‘Vyjmutí – Ctrl+X
Private Sub EditCut()
EditCopy
EditDelete
End Sub

‘Kopírování – Ctrl+C
Private Sub EditCopy()
Clipboard.Clear
Clipboard.SetText MSFlexGrid1.Clip
End Sub

‘Vložení Ctrl+V
Private Sub EditPaste()
If Len(Clipboard.GetText) Then MSFlexGrid1.Clip = _
Clipboard.GetText
End Sub

‘Smazat označené Del
Private Sub EditDelete()
Dim i As Integer
Dim j As Integer
Dim strClip As String
With MSFlexGrid1
For i = 1 To .RowSel
For j = 1 To .ColSel
strClip = strClip & „“ & vbTab
Next
strClip = strClip & vbCr
Next
.Clip = strClip
End With
End Sub

‘Vyber vše Ctrl+A
Private Sub EditSelectAll()
With MSFlexGrid1
.Visible = False
.row = 1
.col = 1
.RowSel = .Rows – 1
.ColSel = .Cols – 1
.TopRow = 1
.Visible = True
End With
End Sub

Práce s FSO

Otevřít všechny soubory v zadaném adresáři a zkopirovat vybrany obsah do .txt souboru: (procedura z GPS)

Dim iCisloSouboru As Integer
Dim sText As String
Dim ts As TextStream
Dim iStart As Integer
Dim sFile As String
Dim sCisloSIM As String
Dim vFile
Dim vFolder As Folder
Dim vFile1
On Error GoTo GenerovaniHistorie_Error
iCisloSouboru = FreeFile
sCisloSIM = InputBox(“Vlož číslo sim pro generování historie“, „Generování Historie“, „773400″)
‘    CommonDialog.DialogTitle = „Vyber soubor“
‘    CommonDialog.Filter = „*.txt“
‘    CommonDialog.ShowOpen
‘    sFile = CommonDialog.FileName
Set vFolder = mdl_objFSO.GetFolder(“e:/logs/odpovidac/zaloha/“)
Set vFile = vFolder.Files
For Each vFile1 In vFile
Set ts = mdl_objFSO.OpenTextFile(vFile1, ForReading)
Do
sText = ts.ReadLine
If InStr(sText, „&REPORT,000003″) Then
Open App.Path & „\Data\“ & sCisloSIM & „.txt“ For Append As #iCisloSouboru
Write #iCisloSouboru, sText
Close #iCisloSouboru
Open App.Path & „\Data\“ & sCisloSIM & „data.txt“ For Append As #iCisloSouboru
iStart = InStr(sText, „&REPORT,000003″)
Write #iCisloSouboru, Mid(sText, iStart)
Close #iCisloSouboru
End If
Loop Until ts.AtEndOfStream
ts.Close
Set ts = Nothing
Next

Dim iCisloSouboru As Integer

Dim sText As String

Dim ts As TextStream

Dim iStart As Integer

Dim sFile As String

Dim sCisloSIM As String

Dim vFile

Dim vFolder As Folder

Dim vFile1

iCisloSouboru = FreeFile

sCisloSIM = InputBox(“Vlož číslo sim pro generování historie“, „Generování Historie“, „773400″)

Set vFolder = mdl_objFSO.GetFolder(“e:/logs/odpovidac/zaloha/“)

Set vFile = vFolder.Files

For Each vFile1 In vFile

Set ts = mdl_objFSO.OpenTextFile(vFile1, ForReading)

Do

sText = ts.ReadLine

If InStr(sText, „&REPORT,000003″) Then

Open App.Path & „\Data\“ & sCisloSIM & „.txt“ For Append As #iCisloSouboru

Write #iCisloSouboru, sText

Close #iCisloSouboru

End If

Loop Until ts.AtEndOfStream

ts.Close

Set ts = Nothing

Next