Funktionen zählen, aber wie

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

BB-Fan

Betreff: Funktionen zählen, aber wie

BeitragSo, Sep 21, 2008 17:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Gibt es eine Möglichkeit in einem Quellcode die Funktionen zählen zu lassen?
 

Phlox

BeitragSo, Sep 21, 2008 17:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Du liest eine BB Datei aus und suchst nach Function.
Aber nur, wenn es am Anfang steht. (Leerzeichen ersetzen)
 

BB-Fan

BeitragSo, Sep 21, 2008 17:38
Antworten mit Zitat
Benutzer-Profile anzeigen
keine ahnung wie, eigentlich müsste nur das Wort "Function" gezählt werden.
und wie macht man das?
also was auslesen von dateien anbelangt, hab ich garkeinen plan.
ich werd das auch nicht so oft jetzt brauchen, muss nur zwei dateien vergleichen, und der erste schritt ist erstmal das zählen der funktionen.
 

Phlox

BeitragSo, Sep 21, 2008 17:43
Antworten mit Zitat
Benutzer-Profile anzeigen
*seufz* Ich bin zu gut zu den Menschen:

Code: [AUSKLAPPEN]
file$=Input("BB-Datei:")
f=ReadFile(file$)
if f=0 then runtimeerror "Datei existiert nicht!"
while not eof(f)
l$=ReadLine(f)
l$=Replace(l$," ","")
l$=Lower(l$)
if left(l$,9)="function " then count=count+1


wend
print "Funktionen:"+count
waitkey
closefile f
end


 

BB-Fan

BeitragSo, Sep 21, 2008 17:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke dir, super..
 

E. Urbach

ehemals "Basicprogger"

BeitragSo, Sep 21, 2008 18:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Du hättest auch suchen können...
https://www.blitzforum.de/foru...hp?t=25240
https://www.blitzforum.de/foru...hp?t=21779
Beide Projekte sind dazu in der Lage.
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik

Nova

BeitragSo, Sep 21, 2008 18:38
Antworten mit Zitat
Benutzer-Profile anzeigen
In der Standart IDE stehen an der Seite doch alle Funktionen.
AMD Athlon II 4x3,1GHz, 8GB Ram DDR3, ATI Radeon HD 6870, Win 7 64bit
 

E. Urbach

ehemals "Basicprogger"

BeitragSo, Sep 21, 2008 18:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Nova, er möchte die Funktionen (des gesamten Projekts?) zählen lassen.
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik

Nova

BeitragSo, Sep 21, 2008 18:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, so wie ich es gesagt habe geht das doch auch. (oder habe ich etwas falsch verstanden?)
AMD Athlon II 4x3,1GHz, 8GB Ram DDR3, ATI Radeon HD 6870, Win 7 64bit
 

E. Urbach

ehemals "Basicprogger"

BeitragSo, Sep 21, 2008 19:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Erstens sagte er er will sie zählen lassen und nicht selber zählen und zweitens bestehen die Dateien großer Projekte nicht aus 3, 4, sondern teilweise aus 100 oder mehr Funktionen. Kannst es gerne auf die manuelle Weise tun, aber ich würde ein Programm bevorzugen...

P.S.: StarTrade beinhaltet mehr als 1000 Funktionen.
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik
 

BB-Fan

BeitragSo, Sep 21, 2008 20:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Über 400 sinds, mir geht es darum zwei codes abzugleichen.
Einen alten und einen neuen.
 

BB-Fan

BeitragSa, Sep 27, 2008 0:38
Antworten mit Zitat
Benutzer-Profile anzeigen
sorry wegen doppelpost.
aber der code von Phlox funktioniert irgendwie nicht.

steht immer 0 als ergebnis.

Eingeproggt

BeitragSa, Sep 27, 2008 2:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm.. Wenn ich das mal so schnell überfliege, musst du nur eine Zeile ein wenig korrigieren. Habs mal schnell getestet und zumindest in einem Code hat er mir die Funktionen korrekt gezählt.
Code: [AUSKLAPPEN]
[...]
If Left(l$,8)="function" Then count=count+1
[...]


100% sicher ist dieser Code zwar nicht, sollte aber in vielen Fällen seinen Zweck erfüllen. Viel Spass!

EDIT @ Thorsten: Nun, es war gedacht, diese Zeile in Phlox' Code einzubauen, der dem Problem mit Lower entgegengetreten ist Wink
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9
  • Zuletzt bearbeitet von Eingeproggt am Sa, Sep 27, 2008 14:08, insgesamt einmal bearbeitet

Thorsten

BeitragSa, Sep 27, 2008 9:17
Antworten mit Zitat
Benutzer-Profile anzeigen
@Eingeproggt :
Dieser Code dürfte wegen Syntax Highlighting schon in den wenigsten Fällen funktionieren ^^

Code: [AUSKLAPPEN]
[...]
If upper(Left(l$,8))="FUNCTION" Then count=count+1
[...]


So ists sicherer.

mfG,

Thorsten
 

E. Urbach

ehemals "Basicprogger"

BeitragSa, Sep 27, 2008 15:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Amüsant, wie mein Hinweis ignoriert wird.
Vielleicht schaust du (BB-Fan) dir die beiden Projekte einfach mal an, anstatt einen ganzen Parser selbst zu schreiben (oder noch schlimmer: basierend auf einem fremden Code).
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik
 

BB-Fan

BeitragSa, Sep 27, 2008 16:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Amüsant.
Phlox hat netterweise den code dazu gegeben.
Und nix mit basierend auf fremden code is auch nix, ich nutze ja ausschliesslich seinen code.
Soll nix größeres werden, ich wollte nur die wörter in zwei dateien zählen lassen, rein informativ, nicht mehr, und nicht weniger.
 

E. Urbach

ehemals "Basicprogger"

BeitragSa, Sep 27, 2008 17:40
Antworten mit Zitat
Benutzer-Profile anzeigen
BB-Fan hat Folgendes geschrieben:
Phlox hat netterweise den code dazu gegeben.

Beide genannten Projekte sind Open Source, der Code ist auch dort frei einsehbar.
BB-Fan hat Folgendes geschrieben:
Und nix mit basierend auf fremden code is auch nix, ich nutze ja ausschliesslich seinen code.

Somit basiert dein Code auf dem von Phlox, ob du nun Änderungen gemacht hast oder nicht.

Mich nervt es bloß, wenn jemand schreibt "der code von XYZ funzt nicht" und 6 Postings vorher sind zwei funktionierende Projekte, die man nicht einmal erwähnt bzw. ausprobiert hat. Wir sind hier nicht in der Beginners-Corner, da darf man doch erwarten, dass man sich mit gewissen Dingen auseinandersetzen kann und nicht einfach den Code für die Füße geschoben kriegt und bei Problemen immer noch nachfragen muss.

Vielleicht sollte ich meine Projekte löschen, wenn sie sogar für ihren Hauptverwendungszweck nicht genutzt werden...

Edit: @Eingeproggt: Ich bezog mich weniger auf meinen Profiler (der kann das auch), als vielmehr auf mein Statistikprogramm:
https://www.blitzforum.de/foru...hp?t=25240
Aber das wär ja anscheinend ein zu hoher Aufwand gewesen, Downloaden + Doku lesen...
  • Zuletzt bearbeitet von E. Urbach am Sa, Sep 27, 2008 18:36, insgesamt einmal bearbeitet

Eingeproggt

BeitragSa, Sep 27, 2008 17:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich kann dich irgendwo verstehen, Basicprogger. Es nervt ziemlich, ignoriert zu werden. Aber umgekehrt steht es jedem Benutzer frei, für welche Lösung er sich entscheidet, wenn ihm mehrere angeboten werden.
Ich persönliche versuche hier immer die einfachste bzw, naheliegendste Lösung zu nennen, weil wenn jemand fragt "Wie zähle ich Funktionen" braucht er noch lange keinen Profiler in dem Ausmaß wie du ihn entwickelt hast.
Die enfachste Lösung ist nicht immer die Beste, aber solange nicht die Frage auftaucht "Ich schreibe eine IDE und habe schon 3 Ansätze fürs Funktionszählen entwickelt doch leider waren alle zu langsam. Könnt ihr mir eine optimierte Möglichkeit nennen?" braucht man nicht auf die ganzen Feinheiten eingehen.

Trotz allem: Lösch dein Projekt bitte nicht Smile

mfG, Christoph.

PS: Wir sind hier nichtmal im BeginnersCorner^^
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group