Quelltexte/ Codesnippets | | | | |
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Source-Formatierer
##########################################################################
PRF-Struktur, a Profan OpenSource Project(theFirst?),started april 2004
Copyright (C) 2004 by DS/iF (!ReGeXiT) on (iF@mxii.com)
__________________________________________________________________________
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 1.1
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-
1307, USA.
__________________________________________________________________________
Source changed by: [20040707] [IF] [if@mxii.com] <- added xpse syntax
Source changed by: [DATE] [NICK/NAME] [EML]
Source changed by: [DATE] [NICK/NAME] [EML]
Source changed by: [DATE] [NICK/NAME] [EML]
Source changed by: [DATE] [NICK/NAME] [EML]
##########################################################################
Decimals 0
Def Inv(1) If(@%(1),0,1)
Declare S$,Cx%,Ch$,Kl%,Ln%,Insa%,Pre$,Infle$,Maxinsa%,Maxln%,Frl%,Lnp%
Proc _end
End
Endproc
Proc Printfree
Ifnot Frl%
Print #2,
Frl%=1
Add Lnp%,1
Endif
Endproc
Proc Printit
Parameters S$
Print #2,S$
Add Lnp%,1
Frl%=0
Endproc
Proc Printm
Parameters S$,N%
Print S$,N%
Sleep 1000
Close #1
Close #2
Shell notepad _out_.txt
Waitkey
End
Endproc
Windowtitle Struktur V1.0 - Profan
Windowstyle 24
Window 100,100 - 640,480
Frl%=0
Lnp%=0
Infle$=Loadfile$(Profan-Programm:,Profan-Quellcode (*.prf)|*.prf|Alle Dateien (*.*)|*.*)
If Len(Infle$)
Assign #1,Infle$
Reset #1
Assign #2,_out_.txt
Rewrite #2
Locate 1,1
Print Datei:,Infle$
Kl%=0
Ln%=0
Insa%=0
Maxinsa%=0
Maxln%=0
Whilenot Eof(#1)
Input #1,S$
S$=Translate$(S$,Chr$(7),)
S$=Translate$(S$,Chr$(9),)
Add Ln%,1
While Or(Equ$(Chr$(9),Mid$(S$,1,1)),Equ$(Chr$(32),Mid$(S$,1,1)))
S$=Del$(S$,1,1)
Wend
Casenot Len(Trim$(S$)) : Continue
Ifnot Mod(Lnp%,25)
Locate 2,1
Print Zeilen:,Lnp%
Print maximale Tiefe:,Maxinsa%+1
Endif
Case Kl% : Printm string parse error in line:,Lnp%
Ifnot Equ$(Mid$(S$,1,3),P +Chr$(34))
Cx%=0
While Lt(Cx%,Len(S$)+1)
Add Cx%,1
Ch$=Mid$(S$,Cx%,1)
If Equ$(,Ch$)
Ifnot Kl%
S$=Mid$(S$,1,Cx%-1)
Endif
Endif
Case Equ$(Ch$,Chr$(34)) : Kl%=Inv(Kl%)
Ifnot Kl%
Endif
Wend
Case Equ$(WHILE ,Upper$(Mid$(S$,1,6))) : Printfree
Case Equ$(REPEAT,Upper$(Mid$(S$,1,6))) : Printfree
Case Equ$(WEND,Upper$(S$)) : Printfree
Case Equ$(UNTIL,Mid$(Upper$(S$),1,5)) : Printfree
Case Equ$(ENDWHILE,Upper$(S$)) : Printfree
Case Equ$(WHILENOT ,Upper$(Mid$(S$,1,9))) : Printfree
Case Equ$(WHILELOOP ,Upper$(Mid$(S$,1,10))) : Printfree
Case Equ$(IF ,Upper$(Mid$(S$,1,3))) : Printfree
Case Equ$(IFNOT ,Upper$(Mid$(S$,1,6))) : Printfree
Case Equ$(PROC ,Upper$(Mid$(S$,1,5))) : Printfree
Case Equ$(FUNCTION ,Upper$(Mid$(S$,1,9))) : Printfree
Case Equ$(PROCEDURE ,Upper$(Mid$(S$,1,10))) : Printfree
Case Equ$(ENDPROC,Upper$(S$)) : Sub Insa%,1
Case Equ$(ENDIF,Upper$(S$)) : Sub Insa%,1
Case Equ$(ENDIF,Upper$(S$)) : Printfree
If Equ$(ELSEIF ,Upper$(Mid$(S$,1,7)))
Sub Insa%,1
Printfree
Elseif Equ$(ELSE,Upper$(Mid$(S$,1,4)))
Printfree
Sub Insa%,1
Endif
Case Equ$(UNTIL,Upper$(Mid$(S$,1,5))) : Sub Insa%,1
Case Equ$(WEND,Upper$(Mid$(S$,1,4))) : Sub Insa%,1
Case Equ$(ENDWHILE,Upper$(Mid$(S$,1,8))) : Sub Insa%,1
Case Lt(Insa%,0) : Printm Insafailure in line:,Lnp%
If Gt(Insa%,Maxinsa%)
Maxinsa%=Insa%
Maxln%=Lnp%
Endif
Pre$=Mkstr$(Chr$(9),Insa%)
If Len(Trim$(S$))
Printit Add$(Pre$,S$)
Endif
Case Equ$(REPEAT,Upper$(Mid$(S$,1,6))) : Add Insa%,1
Case Equ$(WHILE ,Upper$(Mid$(S$,1,6))) : Add Insa%,1
Case Equ$(WHILENOT ,Upper$(Mid$(S$,1,9))) : Add Insa%,1
Case Equ$(WHILELOOP ,Upper$(Mid$(S$,1,10))) : Add Insa%,1
If Equ$(ELSEIF ,Upper$(Mid$(S$,1,7)))
Add Insa%,1
Printfree
Elseif Equ$(ELSE,Upper$(Mid$(S$,1,4)))
Printfree
Add Insa%,1
Endif
Case Equ$(PROC ,Upper$(Mid$(S$,1,5))) : Add Insa%,1
Case Equ$(PROCEDURE ,Upper$(Mid$(S$,1,10))) : Add Insa%,1
Case Equ$(FUNCTION ,Upper$(Mid$(S$,1,09))) : Add Insa%,1
Case Equ$(IF ,Upper$(Mid$(S$,1,3))) : Add Insa%,1
Case Equ$(IF ,Upper$(Mid$(S$,1,3))) : Printfree
Case Equ$(IFNOT ,Upper$(Mid$(S$,1,6))) : Add Insa%,1
Case Equ$(IFNOT ,Upper$(Mid$(S$,1,6))) : Printfree
Case Equ$(WHILENOT ,Upper$(Mid$(S$,1,9))) : Printfree
Case Equ$(WHILELOOP ,Upper$(Mid$(S$,1,10))) : Printfree
Case Equ$(REPEAT,Upper$(Mid$(S$,1,6))) : Printfree
Case Equ$(WHILE ,Upper$(Mid$(S$,1,6))) : Printfree
Case Equ$(ENDIF,Upper$(S$)) : Printfree
Case Equ$(ENDPROC,Upper$(S$)) : Printfree
Case Equ$(WEND,Upper$(S$)) : Printfree
Case Equ$(UNTIL,Upper$(Mid$(S$,1,5))) : Printfree
Case Equ$(ENDWHILE,Upper$(S$)) : Printfree
Case Lt(Insa%,0) : Printm Insafailure in line:,Lnp%
Endif
Wend
Close #1
Close #2
Locate 2,1
Print Zeilen:,Lnp%
Print maximale Tiefe:,Maxinsa%+1,in Zeile,Maxln%
Sleep 2000
Shell notepad _out_.txt
Endif
End
|
| | | | |
| | Christof Neuß | Hallo Leute,
gibt es hier etwas aktuelles? Ich bin auf der Suche nach genau so einem Tool, da ich mal wieder nicht so ordentlich war und überall die passenden Einrückungen und so vorgenommen habe.
Ich arbeite mit XProfED und LemonED. Sind da vielleicht solche Funktionen schon eingebaut und ich habe sie nur noch nicht gefunden?
Bin für jeden Tipp dankbar. |
| | | | |
| | Christof Neuß | Ich habe mal den Quellcode-Formatierer aus der BabyBox probiert. Leider bekomme ich einen Fehler:
"string parse error in line: 1034"
Grund dafür ist wohl folgendes: KompilierenMarkierenSeparieren
If RZ$="bank21"
Hide(Tx_MBENCH_01&)
Hide(PROGRESSBAR1&)
Re_Text$=" Komprimierung MBench_VRC auf Kundennummern..."+Chr$(10):MSenden(0,0,0,0)
DoSQL("Drop table T_bank21_MBench_VRC_Komp",1)
SQL_Befehl$="Select VRC_KDNR AS komp_KDNR, \
Nach dem Backslash geht der String in der nächsten Zeile weiter. Bei XPSE ist das kein Problem. Da ich das ziemlich oft gemacht habe, wäre ein Umschreiben mit Anführungszeichen und "+"-Zeichen ziemlich aufwendig. |
| | | | |
| | Andreas Miethe
| Christof Neuß (01.11.11)
Ich habe mal den Quellcode-Formatierer aus der BabyBox probiert. Leider bekomme ich einen Fehler:
Hast Du schon mal meinen Editor ( [...] ) versucht ? F5 und alles ist formatiert. |
| | | Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 01.11.2011 ▲ |
| |
| | | Irgendwann hatte ich das wohl auch mal als "Online-Service" -
die Nity formatiert ohnehin alle Quelltexte und da könnte das ja auch als separates Feature abrufbar sein. ^^ |
| | | | |
| | Christof Neuß | Hallo Andreas,
klasse!!! DANKE!
Sieht schon sehr gut aus. Bestimmt kannst Du mir noch erklären, warum manchmal das ENDPROC nicht erkannt wird? Z.B. hier:
PROC KriterienBearbeiten'---------------------------------------------------------------------------> Dialoganfang
DECLARE Dialogende%
DECLARE FALISTVIEW1&
DECLARE Button1&
DECLARE Button2&
DECLARE Ueber$[]
VAR AenderungsSpalten$="011111"
VAR FALISTVIEWDLL&=USEDLL("LISTVIEW.DLL")
VAR DLG&=CREATE("DIALOG",%HWND,"Selektionskriterien erfassen/bearbeiten",180,200,800,270)
VAR UeberTrans1$=Space$(35)
VAR UeberTrans2$=Space$(35)
SetODBCSpalten "TZZZZZ"
Ueber$[0]="Kundengruppe"
Ueber$[1]="Anlagevolumen"
Ueber$[2]="Aktivvolumen"
Ueber$[3]="Gehalt"
Ueber$[4]="Klasse/Segment VON"
Ueber$[5]="Klasse/Segment BIS"
USEFONT "MS Sans Serif",13,0,0,0,0
SETDIALOGFONT 1
FALISTVIEW1& = CREATELISTVIEW(DLG&,%HINSTANCE,0,$FFFFFF,-1,$31)
LVSQL("Select * from T_Bank_Kriterien",FALISTVIEW1&)
EnableEdits(FALISTVIEW1&,7)
SelectColumnEdits(FALISTVIEW1&,addr(AenderungsSpalten$))
WhileLoop 0,5
GetColumnName(FALISTVIEW1&,addr(UeberTrans1$),&LOOP)
UeberTrans2$=Ueber$[&LOOP]
SetColumnName(FALISTVIEW1&,addr(UeberTrans2$),&LOOP)
Ueber$[&LOOP]=Trim$(UeberTrans1$)
if &LOOP>0
SetColumnAlignment(FALISTVIEW1&,&LOOP,1)
endif
EndWhile
SHOWLISTVIEW(FALISTVIEW1&,0020,0010,0740,0150)
BUTTON1& =@CREATE("BUTTON",DLG&,"Speichern",0600,0180,0070,0030)
BUTTON2& =@CREATE("BUTTON",DLG&,"Abbruch" ,0700,0180,0070,0030)
InitMessages(DLG&)
SETFOCUS(DLG&)
DIALOGENDE%=0
WHILENOT DIALOGENDE%
WAITINPUT
If %KEY=2
DIALOGENDE%= 1
ELSEIF CLICKED(BUTTON1&)'BUTTON Speichern
WhileLoop 0,5
GetColumnName(FALISTVIEW1&,addr(UeberTrans1$),&LOOP)
UeberTrans2$=Ueber$[&LOOP]
SetColumnName(FALISTVIEW1&,addr(UeberTrans2$),&LOOP)
Ueber$[&LOOP]=Trim$(UeberTrans1$)
EndWhile
LV2ODBC("",0,"T_Bank_Kriterien",1,0,FALISTVIEW1&)
DIALOGENDE%=1
ElseIF CLICKED(BUTTON2&)'BUTTON Abbruch
DIALOGENDE%=1
ENDIF
ENDWHILE
DESTROYWINDOW(DLG&)
CloseMessages(DLG&)
FREEDLL FALISTVIEWDLL&
EndProc
PROC FilialenBearbeiten
DECLARE Dialogende%
|
| | | | |
| | Christof Neuß | Haha.... jetzt bin ich drauf reingefallen. @iF: Tja, den Formatierer hier hätte ich natürlich auch nutzen können. Funzt wohl. Ist nur EVTL. hier und da etwas umständlich.
Im angegenen Code wird bei "EndProc" nicht wieder ausgerückt |
| | | | |
| | Christof Neuß | Hallo Andreas,
ich hab's gefunden. Es liegt an der Zeile:
SelectColumnEdits(FALISTVIEW1&,addr(AenderungsSpalten$))
"Select" wird als Beginn einer Struktur interpretiert, obwohl es nicht als Wort alleine steht. Was kann ich denn da machen?
DANKE! |
| | | | |
| | Andreas Miethe
| Hallo Christof,
die Frage ist eher was ich da machen kann |
| | | Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 01.11.2011 ▲ |
| |
| | Andreas Miethe
| Ok, erledigt !
Download direkt über den Editor : Menü Helfer -> Editor aktualisieren . |
| | | Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 01.11.2011 ▲ |
| |
| | Christof Neuß | Hi Andreas,
das wäre ja SUPER, aber die gedownloadete ZIP-Datei enthält nochmal die selbe ZIP-Datei und auch den alten Editor.
Vielleicht nur noch mal richtig packen?
Würdest mir eine große Freude machen |
| | | | |
| | Andreas Miethe
| UPS sorry.
Neue Version ist hochgeladen. |
| | | Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 01.11.2011 ▲ |
| |
|
Zum QuelltextThemenoptionen | 7.650 Betrachtungen |
ThemeninformationenDieses Thema hat 4 Teilnehmer: |