Vytvoření seznamu souřadnic z VFK
Verze pro WinXP: TXTzVFK.vbs (4,9 kB)
Program lze spustit dvojklikem, sám už se zeptá na soubor VFK a pak na název TXT se seznamem souřadnic. Bohužel tyto dialogy nepodporuje novější operační systém, proto následuje úprava:
Verze pro Win7: TXTzVFK_W7.vbs (4,8 kB)
Název VFK se píše přímo za název programu do příkazového řádku. Nelze spustit program pouze dvojklikem (to se mu nedodá potřebný "parametr" - soubor VFK). Musí se předem spustit program Příkazový řádek. Zjednodušený zápis:
Start > "cmd" + Enter > "cd..." přepnout se do správného adresáře, případně na jiný disk "d:" > "txtzvbs test.vfk"
Testovací výměnný formát: UkazkaSS.vfk (3,2 kB)
Pro převod "bez starostí s příkazovým řádkem" je zde odkaz na spuštění v novém okně: SSzVFK_W7.hta
Verze 2014 (15 cifer pro ČB):
' Cteni dat z VFK, zapisovani z radku SOBR do SS
' ----------------------------------------------
Do Until objVFK.AtEndOfStream ' cti VFK
strLineVFK = objVFK.ReadLine
arrLineVFK = Split (strLineVFK,";")
If arrLineVFK(0) = "&DSOBR" Then
If arrLineVFK(10) = "" Then ' neni-li TP, doplni se konstanta
arrLineVFK(10) = TP
End If
' uprava 24.9.2014 na 15-ti mistne CB
Do While Len(arrLineVFK(6)) < 4
arrLineVFK(6) = "0" & arrLineVFK(6) ' dopln CISLO_BODU o nevyznamove nuly
Loop
Do While Len(arrLineVFK(4)) < 5
arrLineVFK(4) = "0" & arrLineVFK(4) ' dopln CISLO_ZPMZ o nevyznamove nuly
Loop
If arrLineVFK(5) <> "" Then ' * uprava pro trigas - kdyz nevyuziji cele CB arrLineVFK(7)
Do While Len(arrLineVFK(5)) < 4
arrLineVFK(5) = "0" & arrLineVFK(5) ' * dopln CISLO_TL o nevyznamove nuly
Loop
arrLineVFK(4) = "9" & arrLineVFK(5) ' * ZPMZ:=9ZPMZ
arrLineVFK(3) = "000000" ' KATUZE_KOD:=nuly
End If
' PUVODNE z 15.8.2011: radek SS = celeCB + Y + X + "0.00" + TP
' strLineSS = arrLineVFK(7) & " " & arrLineVFK(8) & " " & arrLineVFK(9) & " " & "0.00 " & arrLineVFK(10)
' ------------------------------
' je-li CISLO_TL - arrLineVFK(5) prazdne, normalni bod,
' celeCB se nove sklada z ku + zpmz + CB
' radek SS = KATUZE_KOD,mezera + CISLO_ZPMZ (prip. s "9" u trigasu) + CISLO_BODU,mezera + _
' Y,mezera + X,mezera + "0.00" + TP
strLineSS = arrLineVFK(3) & " " & arrLineVFK(4) & arrLineVFK(6) & " " & _
arrLineVFK(8) & " " & arrLineVFK(9) & " " & Z & " " & TP
' ------------------------------
objSS.WriteLine (strLineSS)
End If
Loop