Source/ Codesnippets | | | | - page 1 - |
|  Jörg Sellmeyer | Salut, j'ai la fois un paire Regexpressions zusammengefummelt, avec denen Funktionen comment Sous, Mul u.s.w automatisch aus dem Voir le texte source entfernt volonté peut. Hiermit peut aucun imbriquées Funktonen ersetzt volonté et OU et AND rester unbehandelt. quand même peux es einem une la quantité travail décroître. KompilierenMarqueSéparationDeclare Term$[10,2],Wert$[5]
Declare Edit&,Text&,hFont&,btnLaden&,btnStarten&,btnSpeichern&,Liste&,ListeFertig&
Term$[0,0] = ([Ss][Uu][Bb])+ ?~(
Term$[1,0] = (([Aa][Dd][Dd])+ ?~()
Term$[2,0] = (([Aa][Dd][Dd]~$)+ ?~()
Term$[3,0] = (([Mm][Uu][Ll])+ ?~()
Term$[4,0] = ([Dd][Ii][Vv]+ ?~()
Term$[5,0] = ([Dd][Ii][Vv]&+ ?~()
Term$[6,0] = ([Aa][Nn][Nn]+ ?~()Wem was dazu einfällt...
Term$[7,0] = ([Oo][Rr]+ ?~()
Term$[8,0] = ([Mm][Oo][Vv][Ee][Ll][Ii][Ss][Tt][Tt][Oo]+([Ll][Ii][Ss][Tt]|[Cc][Hh][Oo][Ii][Cc][Ee]|[Ee][Dd][Ii][Tt]) ?~()
Term$[9,0] = (([Ss][Ee][Tt])([Aa][Uu][Tt][Oo][Pp][Aa][Ii][Nn][Tt]|
[Dd][Ee][Cc][Ii][Mm][Aa][Ll][Ss]|
[Nn][Uu][Mm][Ww][Ii][Dd][Tt][Hh]|
[Cc][Hh][Aa][Rr][Ss][Ee][Tt]|
[Ee][Rr][Rr][Oo][Rr][Ll][Ee][Vv][Ee][Ll]|
[Ff][Ii][Ll][Ee][Mm][Oo][Dd][Ee]|
[Tt][Rr][Uu][Ee][Cc][Oo][Ll][Oo][Rr]|
[Ss][Tt][Rr][Ww][Ii][Dd][Tt][Hh])) [0-9]+
Term$[0,1] = -
Term$[1,1] = +
Term$[2,1] = +
Term$[3,1] = *
Term$[4,1] = /
Term$[5,1] = \
Term$[6,1] = &
Term$[7,1] = |
Term$[8,1] = MoveListToHandle(
Wert$[0] = ( ?[0-9]+(~.[0-9]+)? ?)Zahl
Wert$[1] = ( ?[!%&]?[A-Za-z0-9]+[!%&]? ?)numerische Variable; Hex-, Binär- oder Octalzahl; Konstante oder Systemvariable
Wert$[2] = ( ?q{1}.*q{1} ?)String
Wert$[3] = ( ?([A-Za-z0-9ÄÖÜäöü~-_])+~$+ ?)Stringvariable oder Konstante
Wert$[4] = ( ?~$+[A-Za-z0-9ÄÖÜäöü~-_]+ ?)Stringkonstante
Proc Bearbeiten
Parameters Zeile$,hEdit&,hText&
Declare Funktion$,RegExpVar$,FunktionTransformiert$
Case Zeile$ > :SetText hEdit&,Zeile$
{ Sub:
RegExpVar$ = Term$[0,0] + ( + Wert$[0] + | + Wert$[1] + ) + , + ( + Wert$[0] + | + Wert$[1] + ) + ~)
While Match$(RegExpVar$,Zeile$) >
Funktion$ = Match$(RegExpVar$,Zeile$)
Set(RegEx,1)
FunktionTransformiert$ = Translate$(Funktion$,Term$[0,0],()
FunktionTransformiert$ = Translate$(FunktionTransformiert$,,,Term$[0,1])
Set(RegEx,0)
Zeile$ = Translate$(Zeile$,Funktion$,FunktionTransformiert$)
Case Zeile$ > :SetText hText&,Zeile$
Wend
}
{ Add:
RegExpVar$ = Term$[1,0] + ( + Wert$[0] + | + Wert$[1] + ) + , + ( + Wert$[0] + | + Wert$[1] + ) + ~)
While Match$(RegExpVar$,Zeile$) >
Funktion$ = Match$(RegExpVar$,Zeile$)
Set(RegEx,1)
FunktionTransformiert$ = Translate$(Funktion$,Term$[1,0],()
FunktionTransformiert$ = Translate$(FunktionTransformiert$,,,Term$[1,1])
Set(RegEx,0)
Zeile$ = Translate$(Zeile$,Funktion$,FunktionTransformiert$)
Case Zeile$ > :SetText hText&,Zeile$
Wend
}
{Add$:
RegExpVar$ = Term$[2,0] + ( + Wert$[2] + | + Wert$[3] + | + Wert$[4] + ),( + Wert$[2] + | + Wert$[3] + | + Wert$[4] + ) + ~)
While Match$(RegExpVar$,Zeile$) >
Funktion$ = Match$(RegExpVar$,Zeile$)
Set(RegEx,1)
FunktionTransformiert$ = Translate$(Funktion$,Term$[2,0],()
FunktionTransformiert$ = Translate$(FunktionTransformiert$,,,Term$[2,1])
Set(RegEx,0)
Zeile$ = Translate$(Zeile$,Funktion$,FunktionTransformiert$)
Case Zeile$ > :SetText hText&,Zeile$
Wend
}
{Mul:
RegExpVar$ = Term$[3,0] + ( + Wert$[0] + | + Wert$[1] + ) + , + ( + Wert$[0] + | + Wert$[1] + ) + ~)
While Match$(RegExpVar$,Zeile$) >
Funktion$ = Match$(RegExpVar$,Zeile$)
Set(RegEx,1)
FunktionTransformiert$ = Translate$(Funktion$,Term$[3,0],()
FunktionTransformiert$ = Translate$(FunktionTransformiert$,,,Term$[3,1])
Set(RegEx,0)
Zeile$ = Translate$(Zeile$,Funktion$,FunktionTransformiert$)
Case Zeile$ > :SetText hText&,Zeile$
Wend
}
{Div
RegExpVar$ = Term$[4,0] + ( + Wert$[0] + | + Wert$[1] + ) + , + ( + Wert$[0] + | + Wert$[1] + ) + ~)
While Match$(RegExpVar$,Zeile$) >
Funktion$ = Match$(RegExpVar$,Zeile$)
Set(RegEx,1)
FunktionTransformiert$ = Translate$(Funktion$,Term$[4,0],()
FunktionTransformiert$ = Translate$(FunktionTransformiert$,,,Term$[4,1])
Set(RegEx,0)
Zeile$ = Translate$(Zeile$,Funktion$,FunktionTransformiert$)
Case Zeile$ > :SetText hText&,Zeile$
Wend
}
{Div&
RegExpVar$ = Term$[5,0] + ( + Wert$[0] + | + Wert$[1] + ) + , + ( + Wert$[0] + | + Wert$[1] + ) + ~)
While Match$(RegExpVar$,Zeile$) >
Funktion$ = Match$(RegExpVar$,Zeile$)
Set(RegEx,1)
FunktionTransformiert$ = Translate$(Funktion$,Term$[5,0],()
FunktionTransformiert$ = Translate$(FunktionTransformiert$,,,Term$[5,1])
Set(RegEx,0)
Zeile$ = Translate$(Zeile$,Funktion$,FunktionTransformiert$)
Case Zeile$ > :SetText hText&,Zeile$
Wend
}
{MoveListTo
RegExpVar$ = Term$[8,0]
While Match$(RegExpVar$,Zeile$) >
Funktion$ = Match$(RegExpVar$,Zeile$)
FunktionTransformiert$ = Translate$(Funktion$,Funktion$,Term$[8,1])
Set(RegEx,0)
Zeile$ = Translate$(Zeile$,Funktion$,FunktionTransformiert$)
Case Zeile$ > :SetText hText&,Zeile$
Wend
}
{Set...
RegExpVar$ = Term$[9,0]
Declare Zahl$
While Match$(RegExpVar$,Zeile$) >
Funktion$ = Match$(RegExpVar$,Zeile$)
Zahl$ = SubStr$(Funktion$,2, )
FunktionTransformiert$ = Translate$(Funktion$,Zahl$,q, + Zahl$ + ))
FunktionTransformiert$ = Translate$(FunktionTransformiert$,Left$(FunktionTransformiert$,3),Left$(FunktionTransformiert$,3) + (q)
Zeile$ = Translate$(Zeile$,Funktion$,FunktionTransformiert$)
Case Zeile$ > :SetText hText&,Zeile$
Wend
}
Return Zeile$
EndProc
Proc DateiLaden
Declare Datei$,Zeile$
Datei$=LoadFile$(Profan-Code laden,Profan-Code (*.prf)|*.prf|
+ Include-Datei (*.inc)|*.inc)
If Datei$ >
ClearList Liste&
Assign #1,Datei$
Reset #1
WhileNot @Eof(#1)
Input #1,Zeile$
AddString(Liste&, Zeile$)
Wend
Close #1
WindowTitle Datei$ + geladen
EndIf
EndProc
Proc DateiBearbeiten
If GetCount(Liste&) > 0
Declare Zeile$,ZeileNeu$
ClearList ListeFertig&
WhileLoop 0,GetCount(Liste&)
locate 12,0
Zeile$ = GetString$(Liste&,&Loop)
ZeileNeu$ = Bearbeiten(Zeile$,Edit&,Text&)
AddString(ListeFertig&,ZeileNeu$)
If ZeileNeu$ <> Zeile$
AddString Str$(&Loop) + + Trim$(Zeile$)
AddString Str$(&Loop) + + Trim$(ZeileNeu$)
EndIf
Wend
ListBox$(Änderungen,2)
WindowTitle Translate$(GetText$(%hwnd),geladen,bearbeitet)
EndIf
EndProc
Proc DateiSpeichern
If GetCount(ListeFertig&) > 0
Declare Datei$
Datei$ = SaveFile$(Datei speichern,Profan-Code (*.prf)|*.prf|
+ Include-Datei (*.inc)|*.inc|
+ Andere (*.*)|*.*))
If Datei$ >
Assign #1,Datei$
ReWrite #1
WhileLoop 0,GetCount(ListeFertig&)
Print #1,GetString$(ListeFertig&,&Loop)
Wend
Close #1
WindowTitle Translate$(GetText$(%hwnd),bearbeitet,gespeichert)
EndIf
EndIf
EndProc
Window 1,1 - 1100,400
hFont& = Create(Font,MS Sans Serif,14,0,0,0,0)
SetDialogFont hFont&
Edit& = Create(Edit,%hwnd,,0,0,Width(%hwnd),24)
Text& = Create(Text,%hwnd,,0,50,Width(%hwnd),24)
btnLaden& = Create(Button,%hwnd,laden,10,100,60,24)
btnStarten& = Create(Button,%hwnd,starten,80,100,60,24)
btnSpeichern& = Create(Button,%hwnd,speichern,150,100,60,24)
Liste&=Create(List,0)
ListeFertig&=Create(List,0)
While 1
Waitinput
If Clicked(btnLaden&)
ChDir C:/ProfanTools
DateiLaden
ElseIf Clicked(btnStarten&)
DateiBearbeiten
ElseIf Clicked(btnSpeichern&)
DateiSpeichern
EndIf
Wend
DeleteObject hFont&
|
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ...  | 10.10.2006 ▲ |
| |
| | | | - page 4 - |
| |  Jac de Lad | Hab grad gesehen, dass cela avec TrueColor pas à mich gerichtet était. et j'ai encore une faute chez den @s trouvé, vous dürfen nämlich NICHT alle entfernt volonté: qui chez Klassendefinitionen doit conservé rester.  |
| | | Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 13.10.2006 ▲ |
| |
| |  Jörg Sellmeyer | allô Jac, Mach doch la fois une eigenen Fil pour Dein Programme. Sonst sais on gar pas plus, qui sur quoi antwortet.
Klammern doit sur jeden le cas drin rester, là qui Operatoren différent Rangstufen avons.
(( 1< 2) < (3 < 4)) ist quoi komplett Anderes comme 1 < 2 < 3 < 4 qui Klammerungen donner oui chacun pour sich erstmal une Wert. cela trop unterscheiden, peux glaube je ne...aucune Programme leisten, là là cela Hirnschmalz vom Programmierer drinsteckt.
Salut Jörg |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ...  | 13.10.2006 ▲ |
| |
| |  Peter Max Müller | Aloha,
à J.L
maintenant ist eigentlich rien plus trop 1faire...
eh doch.
Orginal: KompilierenMarqueSéparation Ergebnis: KompilierenMarqueSéparation ce sont qui letzten sous XProfed 0.99c angezeigten Hinweise. si Du le reste hinbekommst , de quoi je ausgehe , ist Dein Prog wohl fertig.
Salut P.M.M
PS.: avons autre XProfan Community Mitglieder keinen Code zum testen? Wohl alle déjà sur Assembler.ou bien Copy et la pâte Junkies et déjà fertig avec modernisieren  |
| | | | |
| |  Jörg Sellmeyer | Hi Mäxchen, viens Du etwa là wech, wohin je aussi wech viens? 
Peter Max Müller
ollaH, @Jörch après que Je l' Code zum courir gekriegt habe (voulais avec cette la ligne pas starten): KompilierenMarqueSéparationlief es déjà pas mal. comment?? qui Fenstererzeugung dans meinem ou bien dans Deinem Code? cela wäre sur jeden le cas quelque chose pour qui Bug-coin!
Peter Max Müller
Wird erledigt
Peter Max Müller
Ist cela car qui Originalzeile aus Deinem Code?
Jedenfalls merci pour Testen!
Jörg |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ...  | 13.10.2006 ▲ |
| |
| |  Jörg Sellmeyer | So, maintenant gibts cela Programme juste comme Exe:
quelques optische Verbesserungen vorgenommen
qui confort augmenté (Zeilen peut modifié volonté, um Code nachzubearbeiten)
Minimalhilfe hinzugefügt
Fortschrittsanzeige verbessert
Abbruchmöglichkeit chez Hängern incorporé
dessus erwähnte Codezeilen marcher maintenant
weitere kleine Bugs étendu
hoffentlich aucun Neuen incorporé (je crois pas, qui quelqu'un un Copyright sur den Spruch hat, ou bien?)
Salut Jörg |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ...  | 14.10.2006 ▲ |
| |
| |  Dietmar Horn | allô Jörg,
chez mir sous XP-Home läßt sich cela Programme malheureusement gar pas seulement starten.
Salut Dietmar |
| | | Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V. [...]  Windows 95 bis Windows 7 Profan² 6.6 bis XProfan X2 mit XPSE Das große XProfan-Lehrbuch: [...]  | 14.10.2006 ▲ |
| |
| |  Jörg Sellmeyer | Seltsam, cela gleiche hat Michael aussi déjà berichtet et einer kryptischen Fehlermeldung belegt. exposition la fois dans diesem Fil 2 Seiten auparavant. Max hat quelque chose ähnliches erlebt et qui la ligne Fenêtre 1,1 - 1100,800 geändert. après lief es. il hat malheureusement pas geschrieben, quoi il geändert hat. la hâte Du la fois une frühere Version des Progamms getestet. chez mir sous XP Professional fonctionne es comment geschmiert. iF hat avec seinem Okrea aussi cela Problem. Hoffentlich hat sich pas encore un übler Bug dans Profan eingenistet.
je habs la fois quelque chose umgestaltet. Evtl était un Textfeld, cela sur den rebord rausragte cela Problem. |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ...  | 14.10.2006 ▲ |
| |
| |  Dietmar Horn | oui, cet Version startet wenigstens, aussi si cela Programmfenster pour 1024 x 768 dans qui Hauteur um etwa 20 - 30 Pixel kleiner son pourrait, avec cela es vollständig sur den Bildschjirm paßt.
Den reste werde je später testen.
ah bon: ältere Versionen voulais je également testen, doch weil là chez mir absolu gar rien passierte (encore pas la fois une Fehlermeldung), J'ai eu mich seulement la fois pas grand plus avec cela befaßt.
Salut Dietmar |
| | | Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V. [...]  Windows 95 bis Windows 7 Profan² 6.6 bis XProfan X2 mit XPSE Das große XProfan-Lehrbuch: [...]  | 14.10.2006 ▲ |
| |
| |  Dietmar Horn | sur qui Schnelle rausgefischt:
Aus -> FileMode 2 wird -> Set(Filemode ,2) gemacht (alors Bug, weil un Leerzeichen zuviel).
Salut Dietmar |
| | | Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V. [...]  Windows 95 bis Windows 7 Profan² 6.6 bis XProfan X2 mit XPSE Das große XProfan-Lehrbuch: [...]  | 14.10.2006 ▲ |
| |
| |  Jörg Sellmeyer | qui Taille habe je maintenant nochmal à kleiner Bildschirme ajusté. je vergeß toujours, qui je une 19il habe et cela nichtgerade Standard ist. qui Set...-Befehle devrait maintenant marcher.
(encore pas la fois une Fehlermeldung), J'ai eu mich seulement la fois pas grand plus avec cela befaßt.
tant pis, hätteste wenigstens cela la fois kurz mitgeteilt, ensuite hätte je mich früher sur qui Fehlersuche faire peut.
Salut Jörg |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ...  | 14.10.2006 ▲ |
| |
| |  Dietmar Horn | allô Jörg,
chez kleineren Bildschirmauflösungen knallt es jusqu'à maintenant quand même encore!
Tip: simple %MaxX et %MaxY abfragen et conforme à cela (sous Berücksichtigung des Client-Bereiches des Hauptfensters) qui Objekte sur dem Hauptfenster bricoler.
Meiner attitude pour sollte un solches Tool aussi heutzutage encore abwärtskompatibel jusque 640 x 480 son (seulement en supplément pourrait je Dir un kilometerlanges Posting comme Begründung envoyons - pourquoi, wieso, weshalb usw. une solche Vorgehensweise encore toujours günstiger wäre ...).
qui oberen beiden CreateText-Zeilen serait je entier omettre. sur schnelleren Rechnern erkennt on là sowieso nix (sauf qui là Irgendwas relativ sinnlos avant sich rumzappelt) - et sur langsameren PCs wird par cela zweimalige SetText chez chacun Codezeile cela Programme seulement unnötig ausgebremst. chez längeren Quelltexten intéresser solche Infos eh keinen - sauf qui cela Programme avec seinem Getue possible vite fertig volonté möge.
aussi serait je qui beiden Listviews bzw. Gridboxen également pas zeitnah ständig avec chacun qui justement bearbeiteten Codezeilen füllen, car cela bremst seulement unnötig et intéressé keinen. simple vom Programme qui travail so vite comment possible faire faire - et bien is es.
Zum Schluß wird schlicht et simple dans irgendeiner vernünftigen forme cela Ergebnis präsentiert, peut-être. encore avec Editiermöglichkeit, o.ä. Den reste wird sich chacun Programmierer sowieso selber avec seinem bevorzugten Editor anschauen et testen - alors, si alles korrekt umgewandelt worden ist, usw. ...
qui ganze Grafik-Schnick-Schnack, usw. ist meiner attitude pour chez einem solchen Tool Pille-Palle et alors völlig uninteressant.
Notfalls würden chez längeren Sources comme Fortschrittsanzeige (avec cela qui User pas croyez, qui sich cela Programme peut-être. aufgehängt hätte) un paire kreiselnde bzw zappelnde simple ASCII- ou bien Ansi-marque ausreichen.
je crois, quelque chose comme wird en tout aussi comme Software-Ergonomie bezeichnet (ou bien so ähnlich ...).
Salut Dietmar |
| | | Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V. [...]  Windows 95 bis Windows 7 Profan² 6.6 bis XProfan X2 mit XPSE Das große XProfan-Lehrbuch: [...]  | 14.10.2006 ▲ |
| |
| |  Jörg Sellmeyer |
chez kleineren Bildschirmauflösungen knallt es jusqu'à maintenant quand même encore!
c'est oui ärgerlich! tu as naturellement droite - cela doit ajusté volonté. quand même darf meiner attitude pour ne...aucune simpler Absturz passer. je vermute la fois, cela Profan là encore une Macke hat. Votre Anregungen J'ai eu alle déjà sur qui ToDo-liste. Es volonté encore un paire Optionseinstellungen dazukommen, qui qui grafischen Sachen Abschaltbar faire. (simple la fois avec rechter Bouton de la souris sur cela la fenêtre klicken) sommes car Votre Codes korrekt traduit worden? si là encore faute sommes, ist es mir im Moment wichtiger, qui trop korrigieren.
merci pour Testen! Salut Jörg |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ...  | 14.10.2006 ▲ |
| |
|
Zum QuelltextOptions du sujet | 45.065 Views |
Themeninformationencet Thema hat 10 participant: |