home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Programming Tool Box
/
SIMS_2.iso
/
bp_6_93
/
vbdos
/
formdes
/
fdmod.bas
< prev
Wrap
BASIC Source File
|
1993-01-05
|
2KB
|
71 lines
DECLARE FUNCTION NoTab (Text AS STRING) AS STRING
OPTION EXPLICIT
CONST False = 0, True = NOT False, TempFile = "FDMOD.TMP"
DIM Zeile AS STRING, Text AS STRING, Indent AS STRING
DIM Einheitsfarbe AS STRING, Level AS INTEGER
ON ERROR RESUME NEXT: KILL TempFile: ON ERROR GOTO 0
NAME COMMAND$ AS TempFile: OPEN TempFile FOR INPUT AS #1
OPEN COMMAND$ FOR OUTPUT AS #2
LINE INPUT #1, Zeile: PRINT #2, Zeile
IF Zeile <> "Version 1.00" THEN
PRINT "Form "; COMMAND$; " wurde binär gespeichert!"
PRINT "Drücken sie eine Taste zum Fortfahren."; INPUT$(1)
CLOSE : KILL COMMAND$: NAME TempFile AS COMMAND$
SYSTEM
END IF
DO UNTIL EOF(1)
LINE INPUT #1, Zeile
Text = LTRIM$(NoTab$(Zeile))
Indent = LEFT$(Zeile, LEN(Zeile) - LEN(Text))
IF LEFT$(Text, 6) = "BEGIN " THEN
Level = Level + 1
ELSEIF LEFT$(Text, 4) = "END " THEN
Level = Level - 1
IF Level = 0 THEN PRINT #2, Indent; Text: EXIT DO
ELSE
' *** hier Modifikationen für Code programmieren ***
' Beispiel: einheitliche Hintergrundfarbe für alle Elemente
IF INSTR(Text, "BackColor") THEN
IF Level = 1 THEN ' wir sind auf Form-Ebene
' Gesamte Zeile wird einfach zwischengespeichert
' (Ästheten können auch mühsam den Teil hinter dem
' = abspalten...)
Einheitsfarbe = Text
ELSE
' Gespeicherte Einheitsfarbe wird dem Steuerelement
' zugewiesen:
Text = Einheitsfarbe
END IF
END IF
END IF
PRINT #2, Indent; Text
LOOP
IF NOT EOF(1) THEN
' Hierhin wird verzweigt, wenn nach dem Form-Bereich
' in der FRM-Datei noch Programmcode folgt. Dieser wird
' einfach kopiert:
DO UNTIL EOF(1)
LINE INPUT #1, Zeile: PRINT #2, Zeile
LOOP
END IF
CLOSE: KILL TempFile
FUNCTION NoTab (Text AS STRING) AS STRING
DIM Result AS STRING, TabPos AS INTEGER
Result = Text
DO
TabPos = INSTR(Result, CHR$(9)): IF TabPos = 0 THEN EXIT DO
MID$(Result, TabPos, 1) = " "
LOOP
NoTab = Result
END FUNCTION