[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/privacyprotection/cron/task/anonymize_ip.php on line 83: A non-numeric value encountered
Inoffizielles deutsches Xbase-Forum • CLICK GUI Version
Seite 1 von 1

CLICK GUI Version

Verfasst: Sa, 18. Jan 2020 12:15
von AUGE_OHR
hi,

hier eine GUI Version von CLICK.

CLICK ist eine "Cl*pper Code Formatter" der auch eine Cross-Referenz erstellt sowie die DBSTRUC() der verwendeten DBF Dateien.

CLICK "versteht" Xbase++ Code jedoch gibt es einige Einschränkungen die eine "Anpassung" erfordern.
bei dieser Syntax "verschluckt" CLICK das letzte Element "end" bzw. "return"

Code: Alles auswählen

IF a=b ; blabla ; end
IF a=b ; blbla  ; return
ebenso funktioniert das nicht

Code: Alles auswählen

  xVar := a+b+c ;
          +d+e+f  // "+" erst in der nächsten Zeile -> Error
wenn man es so schreibt funktioniert CLICK

Code: Alles auswählen

  xVar := a+b+c +;   // hier mit"+"
          d+e+f
es geht um das "+" was vor einem ";" kommen MUSS damit CLICK es richtig macht.

auch Xbase++ CLASS Code funktioniert ... aber nicht INLINE METHOD :(

wer es "schnell" haben will kann VERBOSE "on-fly" disable in der Chckbox.

---

bei ersten Start wird eine CLICK.INI erstellt. Es enthält das Setup mit dem ich arbeite d.h. RUNMODE=S87
ich würde empfehlen die Einstellungen nicht zu ändern ... ich unterstütze es nicht wenn "andere" Einstellungen verwendet werden :!:

---

how to :
Click017.jpg
Click017.jpg (60.15 KiB) 7339 mal betrachtet
Verzeichnis auswählen und dann CLICK
die VERBOSE Checkbox ist Rot umrandet.

wenn er ein Problem findet geht eine Auswahl Box welche Default auf "Ja" steht -> Abbruch des PRG und nächstes PRG
in der "InPut" Box (Mitte) erscheint eine Error Meldung welche auf das "letzte" Element deutet (meistens END)
das "Problem" liegt aber "davor" wo das "Einrücken" schon versagt hat.

um das im neuen Code zu sehen muss man "NEIN" verwenden :!:

hier nun die App, gepackt mit UPX.EXE , die KEIN Virus ist [-X
hb_CLICK_EXE28.zip
(1.37 MiB) 257-mal heruntergeladen
have Fun

Re: CLICK GUI Version

Verfasst: Sa, 18. Jan 2020 12:39
von Tom
Sieht ja ein bisschen gruselig aus, und wenn das Ding Linebreaks nicht gut erkennt (+ am Anfang), mag das nur die Spitze des Eisbergs sein. Wer hat das geschrieben, Jimmy?

Ich spiele seit einer Weile mit Sublime als Editor herum, wozu es "Prettier" als Plugin gibt, einen Code Formatter, den man umfangreich konfigurieren kann. Und richtig cool wäre natürlich ein funktionierender Linter für Xbase-Code. 8)

Links:
https://prettier.io/
https://www.sublimetext.com/

Re: CLICK GUI Version

Verfasst: Sa, 18. Jan 2020 14:43
von brandelh
Ich formatiere schon immer meinen Code beim Tippen,
wenn ich einen fremden verwenden will, auch ... so komme ich drauf was das Teil macht.

Re: CLICK GUI Version

Verfasst: Sa, 18. Jan 2020 21:15
von AUGE_OHR
hi,

es ist der alte Source Cl*pper Source den ich mit einer (schnellen) GUI Versehen habe.
dabei war mir die Optik egal denn es kommt nur auf den Speed an welchen ich mit MT=YES erreiche.

eine noch schnellere Version mit GDIplus, statt GDI32, hab ich schon im Test
1:40 -> 0:40 -> 0.25 Sec. also grob > 500 % mehr an Speed

---

nun ist CLICK nicht nur ein Formatter sondern erstellt auch eine Cross-Referenz und schreibt einen Header zur Function.
in dem Header ist aufgeführt "von wem" die Function aufgerufen wird ... machen das euer Formatter auch :?:

ich nutze CLICK hauptsächlich für "fremden" Code wo man sich erst mal einen Überblick verschaffen muss "wo/was" ist.
das reine Formatieren passiert, wie ihr ja sagt, schon bei der Eingabe aber wer erstellt eine Cross-Referenz.

btw. @Hubert : du hattest doch mal eine Routine um "ungenutzte" Function zum identifizieren ... ich finde es nicht.

---

tatsächlich habe ich die GUI Version nicht explizit für Xbase++ gemacht sondern für "andere xBase" Dialekte.
diese Version "versteht" harbour HMG und MiniGUI aber leider nicht FiveWin.

dabei geht es um #xCommand wodurch eine Syntax entsteht ähnlich Express++

Code: Alles auswählen

PROCEDURE main( filespec )
   SET MULTIPLE OFF
   RDDSETDEFAULT( "DBFCDX" )

   DEFAULT filespec TO '*.PRG'
   DECLARE ClickForm
   IF !IsWindowDefined( ClickForm )
      Load Window ClickForm
      main_screen( filespec )
      ON KEY ESCAPE OF ClickForm ACTION ClickForm.Release
      CENTER WINDOW ClickForm

      Activate Window ClickForm
   ENDIF
RETURN
die "Form" wird per "bi-direktionnalem" Designer erstellt.

btw. diese CLICK Version ist nicht für Express++ User gedacht.

---

beim "+" Problem geht es um den Code den User "abgekürzt" haben wie z.B. Pablo es macht.
dabei war IMHO das ";" für die Verkettung mit "+" gemacht.
btw. mit

Code: Alles auswählen

.AND. ; 
oder

Code: Alles auswählen

.OR. ;
funktioniert es natürlich.
auch das INLINE ist keine CLASSY Syntax und wir reden von Cl*pper (was alle "verstehen")

es sind aber keine unlösbaren "Probleme", mach muss "nur" zurück zur Basis und es so machen wie es "gedacht" war.
wenn man seine Source Code so hält das "andere" xBase-Dialekte es "verstehen" dann tut es auch CLICK.

Re: CLICK GUI Version

Verfasst: So, 19. Jan 2020 7:59
von Manfred
Hi Jimmy,
meinst Du das hier?
https://www.xbaseforum.de/viewtopic.php?f=16&t=8005
war aber von Wolfgang Ciriack

Re: CLICK GUI Version

Verfasst: So, 19. Jan 2020 13:23
von brandelh
Jetzt bin ich aber beruhigt, ich dachte schon i... aber Herbert wars

Re: CLICK GUI Version

Verfasst: So, 19. Jan 2020 14:21
von Manfred
? Wolfgang. Oder liege ich jetzt daneben?

Re: CLICK GUI Version

Verfasst: So, 19. Jan 2020 23:23
von AUGE_OHR
Manfred hat geschrieben: So, 19. Jan 2020 7:59 meinst Du das hier?
https://www.xbaseforum.de/viewtopic.php?f=16&t=8005
war aber von Wolfgang Ciriack
JA =D>
sorry hab ich verwechselt.