home *** CD-ROM | disk | FTP | other *** search
/ Online Praxis 1998 March / Image.iso / CD-ROM / TOOLS / SPARTOOL / ONTIME.EXE / MAKRO.TXT < prev    next >
Encoding:
Text File  |  1998-04-10  |  7.6 KB  |  238 lines

  1. Sub MAIN
  2. 'Version 1.3 1998
  3. 'Word-Basic Makro zur Konvertierierung von OnTime-Log-Dateien
  4. 'in Word- bzw. Excel-Tabellen. Resultat ist in der Zwischenablage.
  5. '
  6. 'Copyright: Joachim von Jena jvjena@cs.tu-berlin.de, Freeware
  7. 'ohne jede Gewaehr
  8. '
  9. '
  10. Sanduhr 1
  11. AnzeigeAktualisieren
  12. CurDir$ = Files$(".") + Chr$(92)
  13. If Val(AbrufenSysteminfo$(24)) >= 4 Then
  14. 'If 3 >= 4 Then
  15.    OntimeReg$ = "HKEY_CURRENT_USER\Software\Microsoft\Word\" + \
  16.    AnwInfo$(2) + "\" + "ONTIME"
  17.    WinVer$ = "WIN32"
  18. Else
  19.    OntimeReg$ = "ONTIME"
  20. End If
  21. If WinVer$ = "WIN32" Then
  22.    If GetPrivateProfileString$(OntimeReg$, "OnTime-Verzeichnis", "") = "" \
  23.       Then
  24.       OntimeDir$ = "C:\ONTIME\"
  25.    Else
  26.       OntimeDir$ = GetPrivateProfileString$(OntimeReg$, \
  27.       "OnTime-Verzeichnis", "")
  28.    End If
  29. Else
  30.    If GetProfileString$(OntimeReg$, "OnTime-Verzeichnis") = "" Then
  31.       OntimeDir$ = "C:\ONTIME\"
  32.    Else
  33.       OntimeDir$ = GetProfileString$(OntimeReg$, \
  34.       "OnTime-Verzeichnis")
  35.    End If
  36. End If
  37. OntimeExe$ = UCase$(OntimeDir$ + "ONTIME.EXE")
  38. If UCase$(Files$(OntimeExe$)) <> OntimeExe$ Then
  39.    Begin Dialog BenutzerDialog 370, 135, "Verzeichnis von ONTIME.EXE"
  40.    Text 17, 10, 328, 79, "Bitte passen Sie das Verzeichnis, " + \
  41.    "in dem sich ONTIME.EXE befindet, an: dieses Verzeichnis " + \
  42.    "muss mit einem " + Chr$(34) + "\" + Chr$(34) + " enden."
  43.    TextBox 12, 65, 330, 18, .Ontdir
  44.    OKButton 289, 85, 55, 21
  45.    CancelButton 241, 110, 102, 21
  46.    End Dialog
  47.    Dim Dlg As BenutzerDialog
  48.    dlg.Ontdir = OntimeDir$
  49.    x = Dialog(dlg)
  50.    OntimeDir$ = dlg.Ontdir
  51.    If WinVer$ = "WIN32" Then
  52.      SetPrivateProfileString OntimeReg$, "OnTime-Verzeichnis", \
  53.      OntimeDir$, ""
  54.    Else
  55.      SetProfileString OntimeReg$, "OnTime-Verzeichnis", \
  56.      OntimeDir$
  57.    End If
  58.    OntimeExe$ = UCase$(OntimeDir$ + "ONTIME.EXE")
  59. End If
  60. ChDefaultDir OntimeDir$, 0
  61. Temp$ = Files$("*.log")
  62. ZΣhler = - 1
  63. While Temp$ <> ""
  64.     ZΣhler = ZΣhler + 1
  65.     Temp$ = Files$()
  66. Wend
  67. If ZΣhler > - 1 Then
  68.     Dim Liste$(ZΣhler)
  69.     'Liste$(0) = Files$("*.log")
  70.     lpathname$ = Files$("*.log")
  71.     Liste$(0) = logname$(lpathname$)
  72.     For i = 1 To ZΣhler
  73.         'Liste$(i) = Files$()
  74.         lpathname$ = Files$()
  75.         Liste$(i) = logname$(lpathname$)
  76.     Next i
  77.     SortDatenfeld Liste$()
  78. Else
  79.     MsgBox "Das Ontime-Verzeichnis enthΣlt keine LOG-Dateien."
  80. Goto bye
  81. End If
  82.  
  83. Begin Dialog BenutzerDialog 390, 190, "Log-Dateiauswahl"
  84. Text 27, 8, 161, 13, "Liste der Logdateien:"
  85.     ListBox 0, 0, 240, 140, Liste$(), .Logdatei
  86.  
  87. OKButton 300, 89, 55, 21
  88. CancelButton 260, 115, 96, 21
  89. CheckBox 176, 147, 179, 16, "Konversion sichtbar", .KontrollkΣstchen1
  90. End Dialog
  91.  
  92. Dim Dlg As BenutzerDialog
  93. Zeit0 = Jetzt()
  94. x = Dialog(dlg)
  95. If x = 0 Then Goto bye
  96. LogDateiName$ = Liste$(dlg.Logdatei)
  97. If dlg.KontrollkΣstchen1 = 1 Then AnzeigeAktualisieren
  98. Datei╓ffnen .Name = Liste$(dlg.Logdatei), .UmwandlungBestΣtigen = 0, \
  99. .Schreibgeschⁿtzt = 0, .ZuletztBearbErweitern = 0, .KennwortDok = "", \
  100. .KennwortDokVorlage = "", .Wiederherstellen = 0, .KennwortDokSchreiben \
  101. = "", .KennwortDokVorlageSchreiben = ""
  102. BearbeitenErsetzen .Suchen = "     ", .Ersetzen = "|", .Richtung = 0, \
  103. .Gro▀Kleinschreibung = 0, .GanzesWort = 0, .Mustervergleich = 0, \
  104. .Reserviert23 = 0, .AllesErsetzen, .Format = 0, .Textflu▀ = 1
  105. BearbeitenErsetzen .Suchen = "    ", .Ersetzen = "|", .Richtung = 0, \
  106. .Gro▀Kleinschreibung = 0, .GanzesWort = 0, .Mustervergleich = 0, \
  107. .Reserviert23 = 0, .AllesErsetzen, .Format = 0, .Textflu▀ = 1
  108. BearbeitenErsetzen .Suchen = "   ", .Ersetzen = "|", .Richtung = 0, \
  109. .Gro▀Kleinschreibung = 0, .GanzesWort = 0, .Mustervergleich = 0, \
  110. .Reserviert23 = 0, .AllesErsetzen, .Format = 0, .Textflu▀ = 1
  111. BearbeitenErsetzen .Suchen = "  ", .Ersetzen = "|", .Richtung = 0, \
  112. .Gro▀Kleinschreibung = 0, .GanzesWort = 0, .Mustervergleich = 0, \
  113. .Reserviert23 = 0, .AllesErsetzen, .Format = 0, .Textflu▀ = 1
  114. BearbeitenErsetzen .Suchen = " ", .Ersetzen = "|", .Richtung = 0, \
  115. .Gro▀Kleinschreibung = 0, .GanzesWort = 0, .Mustervergleich = 0, \
  116. .Reserviert23 = 0, .AllesErsetzen, .Format = 0, .Textflu▀ = 1
  117. BeginnDokument
  118. Print "Konversion von " + Chr$(34) + LogDateiName$ +  Chr$(34) + \
  119. " lΣuft, bitte warten ..."
  120. AbsatzUnten 1, 1
  121. If Len(AbrufenTextmarke$("\Sel")) = 46 Then
  122. logtype$ = "alt"
  123. ElseIf Len(AbrufenTextmarke$("\Sel")) = 58 Then
  124. logtype$ = "neu"
  125. End If
  126. If logtype$ = "neu" Then
  127. ZeichenRechts
  128. FormatVerbindung
  129. Else
  130. ZeichenRechts
  131. ZeichenLinks
  132. Einfⁿgen "|Verbindung:"
  133. ZeichenRechts
  134. FormatVerbindung
  135. logtype$ = "neu"
  136. End If
  137. BearbeitenAllesMarkieren
  138. CurrentFeldTrZ$ = FeldTrennzeichen$()
  139. FeldTrennzeichen$ "|"
  140. If logtype$ = "alt" Then
  141. LogSpalten$ = "9"
  142. Else
  143. LogSpalten$ = "10"
  144. End If
  145. TextInTabelle .UmwandelnVon = "3", .AnzSpalten = LogSpalten$, \
  146. .AnzTabZeilen = "91", .AnfSpaltenbreite = "Auto", .Format = "0", \
  147. .Zuweisen = "167"
  148. FeldTrennzeichen$ CurrentFeldTrZ$
  149. BeginnDokument
  150. TabelleSpaltenBreite .SpaltenBreite = "0,87 cm", .AbstandZwischenSpalten \
  151. = "0,2 cm", .NΣchsteSpalte, .LinealArt = "0"
  152. TabelleSpaltenBreite .SpaltenBreite = "2,25 cm", .AbstandZwischenSpalten \
  153. = "0,2 cm", .NΣchsteSpalte, .LinealArt = "0"
  154. TabelleSpaltenBreite .SpaltenBreite = "1,86 cm", .AbstandZwischenSpalten \
  155. = "0,2 cm", .NΣchsteSpalte, .LinealArt = "0"
  156. TabelleSpaltenBreite .SpaltenBreite = "1,86 cm", .AbstandZwischenSpalten \
  157. = "0,2 cm", .NΣchsteSpalte, .LinealArt = "0"
  158. TabelleSpaltenBreite .SpaltenBreite = "1,86 cm", .AbstandZwischenSpalten \
  159. = "0,2 cm", .NΣchsteSpalte, .LinealArt = "0"
  160. TabelleSpaltenBreite .SpaltenBreite = "0,45 cm", .AbstandZwischenSpalten \
  161. = "0,2 cm", .NΣchsteSpalte, .LinealArt = "0"
  162. TabelleSpaltenBreite .SpaltenBreite = "0,45 cm", .AbstandZwischenSpalten \
  163. = "0,2 cm", .NΣchsteSpalte, .LinealArt = "0"
  164. TabelleSpaltenBreite .SpaltenBreite = "0,87 cm", .AbstandZwischenSpalten \
  165. = "0,2 cm", .NΣchsteSpalte, .LinealArt = "0"
  166. If logtype$ = "alt" Then
  167. TabelleSpaltenBreite .SpaltenBreite = "1,18 cm", .AbstandZwischenSpalten \
  168. = "0,2 cm", .LinealArt = "0"
  169. ElseIf logtype$ = "neu" Then
  170. TabelleSpaltenBreite .SpaltenBreite = "1,18 cm", .AbstandZwischenSpalten \
  171. = "0,2 cm", .NΣchsteSpalte, .LinealArt = "0"
  172. TabelleSpaltenBreite .SpaltenBreite = "4,5 cm", .AbstandZwischenSpalten \
  173. = "0,2 cm", .LinealArt = "0"
  174. End If
  175. TabelleTabelleMarkieren
  176. FormatAbsatz .Ausrichtung = 2
  177. FormatZeichen .Punkt = "9", .Schriftart = "Courier New"
  178. TabelleAutoFormat .Format = 11, .Rahmen = 1, .Schattierung = 0, \
  179. .Schriftart = 0, .Farbe = 0, .OptimaleBreite = 0, \
  180. .Zeilenⁿberschriften = 1, .ErsteSpalte = 1, .LetzteZeile = 0, \
  181. .LetzteSpalte = 0
  182. BeginnDokument
  183. Tabelle▄berschriften
  184. TabelleTabelleMarkieren
  185. BearbeitenKopieren
  186. DateiSchlie▀en 2
  187. Zeit1 = Jetzt()
  188. Print "Die " + Chr$(34) + LogDateiName$ +  Chr$(34) + \
  189. "-Tabelle steht jetzt in der Zwischenablage, " + \
  190. "Konversionsdauer: " + Str$(Minute(Zeit1 - Zeit0)) + \
  191. " min, " + Str$(Sekunde(Zeit1 - Zeit0)) + "sek"
  192. bye:
  193. ChDefaultDir CurDir$, 0
  194. End Sub
  195. Function logname$(lpathname$)
  196. While Not InStr(lpathname$, Chr$(92)) = 0
  197. lpathname$ = Mid$(lpathname$, InStr(lpathname$, Chr$(92)) + 1)
  198. Wend
  199. logname$ = lpathname$
  200. End Function
  201.  
  202. Sub FormatVerbindung
  203. AbsatzUnten 1, 1
  204. While Len(AbrufenTextmarke$("\Sel")) > 3
  205.   Abbrechen
  206.   ZeichenLinks
  207.   ZeichenRechts 52
  208.   AbsatzUnten 1, 1
  209.   TrennZeichen = InStr(AbrufenTextmarke$("\Sel"), "|")
  210.   If TrennZeichen = 0 Then
  211.     AbsatzUnten
  212.     ZeichenLinks
  213.     Einfⁿgen Chr$(124)
  214.     ZeichenRechts
  215.   Else
  216.     ZeichenLinks
  217.     ZeichenRechts Trennzeichen
  218.     AbsatzUnten 1, 1
  219.     While Len(AbrufenTextmarke$("\Sel")) > 1
  220.       TrennZeichen = InStr(AbrufenTextmarke$("\Sel"), "|")
  221.       If Trennzeichen > 0 Then
  222.         ZeichenLinks
  223.         TrennZeichen = TrennZeichen - 1
  224.         ZeichenRechts TrennZeichen
  225.         BearbeitenL÷schen
  226.         Einfⁿgen " "
  227.         AbsatzUnten 1, 1
  228.       Else
  229.         ZeichenRechts
  230.       End If
  231.     Wend
  232.   End If
  233.   AbsatzUnten 1, 1
  234. Wend
  235. End Sub
  236.  
  237.  
  238.