Kurzanleitung im Script selbst hinterlegen


VBScript

  1. '** Start Kurzbeschreibung *********************************
  2. ' Kurzbeschreibung
  3. ' ================
  4. ' Dies ist ein Beispiel für eine Kurzbeschreibung in einem FF-Skript. Dies
  5. ' ist ein Beispiel für eine Kurzbeschreibung in einem FF-Skript. Dies ist
  6. ' ein Beispiel für eine Kurzbeschreibung in einem FF-Skript. Dies ist ein
  7. ' Beispiel für eine Kurzbeschreibung in einem FF-Skript.
  8. '
  9. ' Erläuterung
  10. ' -----------
  11. ' Die Beschreibung wird direkt in das Skript geschrieben und dann mit
  12. ' FileSytemObject dort ausgelesen. Das hat den Vorteil, dass der Text flüssig
  13. ' geschrieben werden kann und er auch direkt im Skript leicht lesbar ist.
  14. ' Außerdem kann er beliebig lang sein (fast beliebig lang).
  15. '
  16. '** Ende Kurzbeschreibung **********************************
  17.  
  18. Dim objFs, Kurzbeschreibung, KBvorhanden, LaengeMax
  19. const SkriptName = "FFCFmt_Namensbestandteil.vbs" ' Skriptname
  20.  
  21. Sub Hilfetext ' <-- Aufruf der Hilfe
  22. if not KBvorhanden then call KurzbeschreibungLesen
  23. if KBvorhanden then
  24. call KurzbeschreibungAnzeigen
  25. else
  26. msgbox "Keine Kurzbeschreibung gefunden!",,"Meldung"
  27. end if
  28. End Sub
  29.  
  30. Sub KurzbeschreibungLesen
  31. on error resume next
  32. Const ForReading = 1
  33. Dim Skript, Anfang, Ende, Zeile
  34.  
  35. Set objFS = CreateObject("Scripting.FileSystemObject") ' FileSystemObject
  36. Set Skript = objFS.OpenTextFile(FF_GetScriptPath & "\" & SkriptName, ForReading, False)
  37.  
  38. if err.number = 53 then
  39. msgbox "Wahrscheinlich wurde der Originalskriptname " & """" & SkriptName & """" & " abgeändert." & vbNewLine & _
  40. "Die Kurzbeschreibung kann daher nicht angezeigt werden.",,"Meldung"
  41. exit sub
  42. end if
  43.  
  44. Do While Skript.AtEndOfStream <> True
  45. Zeile = Skript.ReadLine
  46.  
  47. if instr(Zeile,"** Ende Kurzbeschreibung") > 0 then Ende = true
  48. if Ende then exit do
  49.  
  50. if Anfang then Kurzbeschreibung = Kurzbeschreibung & mid(Zeile,2) & vbNewLine
  51. if len(Zeile)-1 > LaengeMax then LaengeMax = len(Zeile)-1
  52.  
  53. if instr(Zeile,"** Start Kurzbeschreibung") > 0 then Anfang = true
  54. Loop
  55. msgbox LaengeMax
  56. if Anfang and Ende then KBvorhanden = true
  57. Skript.Close
  58. End Sub
  59.  
  60. Sub KurzbeschreibungAnzeigen
  61. Dim Taste
  62. Dim Breite : Breite = LaengeMax * 2.6 +15
  63. const Hoehe = 100
  64. const ES_READONLY = 2048
  65. const WS_VSCROLL = 2097152
  66.  
  67. FF_AddDialog "Kurzbeschreibung",Breite,Hoehe
  68. FF_AddControl "Kurzbeschreibung","Beschreibung","EDIT",0,0,Breite,Hoehe-20
  69. FF_SetControlStyle "Kurzbeschreibung","Beschreibung", ES_READONLY + WS_VSCROLL
  70. FF_AddControl "Kurzbeschreibung","OK","BUTTON",Breite/2-15,Hoehe-15,30,10
  71. FF_SetControl "Kurzbeschreibung","Beschreibung",Kurzbeschreibung
  72.  
  73. do
  74. Taste = FF_ShowDialog("Kurzbeschreibung")
  75. if Taste = "CANCEL" or Taste = "OK" then exit do
  76. loop
  77. call FF_CloseDialog("Kurzbeschreibung")
  78. End Sub