Fuente/ Codesnippets | | | | - Página 1 - |
| Jörg Sellmeyer | ¡Hola, Yo habe veces unos pocos Regexpressions zusammengefummelt, con denen Características como Sub, Mul u.s.w automáticamente de el Ver código fuente lejos voluntad puede. Hiermit puede no verschachtelte Funktonen ersetzt y ser auch O y AND bleiben unbehandelt. Trotzdem kann lo una una Menge Trabajos puntuales. KompilierenMarcaSeparaciónDeclare 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 ▲ |
| |
| | | | - Página 4 - |
| | Jac de Lad | Hab grad gesehen, dass el con TrueColor no a mich gerichtet war. Und Yo todavía una Fehler en el @s gefunden, ellos dürfen nämlich NICHT todos lejos voluntad: el en Klassendefinitionen necesario obtener bleiben. |
| | | 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 | ¡Hola Jac, Mach doch veces a la eigenen Hilo para Su Programa. Sonst weiß uno nada mehr, wer en qué antwortet.
Klammern necesario en cada Fall drin bleiben, como el Operatoren diferente Rangstufen haben.
(( 1< 2) < (3 < 4)) es qué komplett Anderes como 1 < 2 < 3 < 4 El Klammerungen geben sí jede para se primero una Valor. Das a unterscheiden, kann glaube Yo kein Programa leisten, como como el Hirnschmalz vom Programmierer drinsteckt.
Saludo Jörg |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 13.10.2006 ▲ |
| |
| | Peter Max Müller | Aloha,
An J.L
Jetzt es eigentlich nichts mehr a tun...
Oh doch.
Orginal: KompilierenMarcaSeparación Ergebnis: KompilierenMarcaSeparación Das son el letzten bajo XProfed 0.99c angezeigten Hinweise. Si usted el todavía hinbekommst , wovon Yo ausgehe , es Su Prog wohl fertig.
Saludo P.M.M
PS.: Haben otro XProfan Comunidad Miembros no Code para testen? Wohl todos ya en Ensamblador.Oder Copy y Paste Junkies y ya fertig con modernisieren |
| | | | |
| | Jörg Sellmeyer | Hi Mäxchen, kommst Usted etwa como wech, wo Yo auch wech komme?
Peter Max Müller
ollaH, @Jörch Nachdem Yo, el Code para laufen gekriegt habe (quería con dieser Línea no starten): KompilierenMarcaSeparaciónlief lo ya bastante bien. Como?? El Fenstererzeugung en mi oder en Deinem Code? Das wäre en cada Fall algo para el Bug-Ecke!
Peter Max Müller
Wird hecho
Peter Max Müller
Ist el porque el Originalzeile de Deinem Code?
Jedenfalls Gracias fürs Testen!
Jörg |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 13.10.2006 ▲ |
| |
| | Jörg Sellmeyer | So, ahora gibts el Programa igual como Exe:
algunos optische Verbesserungen vorgenommen el Bequemlichkeit aumenta (Zeilen puede verändert voluntad, en Code nachzubearbeiten) Minimalhilfe hinzugefügt Fortschrittsanzeige mejorado Abbruchmöglichkeit en Hängern instalado oben erwähnte Codezeilen trabajo ahora weitere kleine Bugs expandido hoffentlich no Neuen instalado (Yo glaube no, daß alguien una Copyright en el Spruch ha, oder?)
Saludo Jörg |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 14.10.2006 ▲ |
| |
| | Dietmar Horn | ¡Hola Jörg,
en me bajo XP-Home läßt se el Programa desafortunadamente nada sólo starten.
Saludo 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, el gleiche ha Michael auch ya berichtet y uno kryptischen Fehlermeldung belegt. Schau veces en diesem Hilo 2 Páginas vorher. Max ha algo ähnliches erlebt y el Línea Ventana 1,1 - 1100,800 geändert. Danach lief lo. Er ha por desgracia, no geschrieben, qué él geändert ha. Hast Usted veces una frühere Versión des Progamms getestet. En me bajo XP Professional se ejecuta lo como geschmiert. IF ha con seinem Okrea auch el problema. Hoffentlich ha se no todavía una übler Bug en Profano eingenistet.
Yo habs veces algo umgestaltet. Evtl war una Textfeld, el encima el Rand rausragte el problema. |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 14.10.2006 ▲ |
| |
| | Dietmar Horn | Sí, esta Versión startet wenigstens, auch si el Programmfenster para 1024 x 768 en el Höhe en etwa 20 - 30 Pixel kleiner ser podría, así lo vollständig en el Bildschjirm paßt.
Den Rest voluntad Yo später testen.
Ach así: ältere Versionen Yo quería ebenfalls testen, doch porque como en me absolut gar nichts passierte (todavía no veces una Fehlermeldung), Tuve mich sólo veces no groß más así befaßt.
Saludo 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 | Auf el Schnelle rausgefischt:
Aus -> FileMode 2 se -> Conjunto(Filemode ,2) gemacht (also Bug, porque una Leerzeichen zuviel).
Saludo 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 | El Größe Yo ahora otra vez a kleiner Bildschirme angepaßt. Yo vergeß siempre, Yo una 19él habe y el nichtgerade Standard es. El Conjunto...-Befehle debería ahora trabajo.
(todavía no veces una Fehlermeldung), Tuve mich sólo veces no groß más así befaßt.
Schade, hätteste wenigstens el veces kurz mitgeteilt, entonces hätte Yo mich früher en el Fehlersuche hacer puede.
Saludo Jörg |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 14.10.2006 ▲ |
| |
| | Dietmar Horn | ¡Hola Jörg,
en kleineren Bildschirmauflösungen knallt lo a ahora trotzdem todavía!
Tip: simplemente %MaxX y %MaxY abfragen y dementsprechend (bajo Berücksichtigung des Client-Bereiches des Hauptfensters) el Objetos en el Ventana principal remendar.
Meiner Meinung después de debería una solches Tool auch heutzutage todavía abwärtskompatibel a a 640 x 480 ser (sólo dazu podría Yo Usted una kilometerlanges Posting como Begründung enviar - por qué, wieso, por qué usw. una solche Vorgehensweise todavía siempre günstiger wäre ...).
El oberen beiden CreateText-Zeilen sería Yo bastante weglassen. Auf schnelleren Rechnern erkennt uno como sowieso nix (außer daß como Irgendwas relativ sinnlos antes se rumzappelt) - y en langsameren PCs se por el zweimalige SetText en cada Codezeile el Programa sólo unnötig ausgebremst. En längeren Quelltexten interés solche Infos eh no - außer daß el Programa con seinem Getue möglichst rápidamente fertig voluntad möge.
Auch sería Yo el beiden Listviews o. Gridboxen ebenfalls no zeitnah ständig con cada el gerade bearbeiteten Codezeilen füllen, porque el bremst sólo unnötig y interessiert no. Einfach vom Programa el Arbeit así rápidamente como posible hacer dejar - y bien is lo.
Zum Schluß se schlicht y simplemente en irgendeiner vernünftigen Form el Ergebnis präsentiert, evtl. todavía con Editiermöglichkeit, o.ä. Den Rest se se cada Programmierer sowieso selber con seinem bevorzugten Editor anschauen y testen - also, si alles korrekt umgewandelt worden es, usw. ...
Der todo Grafik-Schnick-Schnack, usw. es meiner Meinung después de en una solchen Tool Pille-Palle y also völlig uninteressant.
Notfalls würden en längeren Sources como Fortschrittsanzeige (así el User no glaubt, daß se el Programa evtl. aufgehängt hätte) unos pocos kreiselnde o zappelnde einfache ASCII- oder Ansi-Signo ausreichen.
Yo glaube, algo como se total auch como Software-Ergonomie bezeichnet (más o menos ähnlich ...).
Saludo 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 |
en kleineren Bildschirmauflösungen knallt lo a ahora trotzdem todavía!
Es sí ärgerlich! Usted hast natürlich bastante - el muß angepaßt voluntad. Trotzdem darf meiner Meinung después de kein simpler Choque passieren. Yo vermute veces, el Profano como ni Macke ha. Su Sugerencias Tuve todos ya en el ToDo-Liste. Lo voluntad todavía unos pocos Optionseinstellungen dazukommen, el el grafischen Sachen Abschaltbar hacer. (simplemente veces con rechter Botón del ratón el Ventana clic) Sind porque Su Codes korrekt traducido worden? Wenn como todavía Fehler son, es me en el Moment wichtiger, el a korrigieren.
Gracias fürs Testen! Saludo Jörg |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 14.10.2006 ▲ |
| |
|
Zum QuelltextTema opciones | 43.539 Views |
ThemeninformationenDieses Thema ha 10 subscriber: |