Vytvoření seznamu souřadnic z VFK

27.11.2014 09:22

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

 

 


Vytvořte si web zdarma! Webnode