Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

IDE
Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  

Wie findest du das Projekt?
Gut
86%
 86%  [ 19 ]
Schlecht
0%
 0%  [ 0 ]
Interessiert mich nicht!
13%
 13%  [ 3 ]
Stimmen insgesamt : 22

Autor Nachricht
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 956
Wohnort: Austria

BeitragVerfasst am: 25.12.2009, 22:11    Titel: Antworten mit Zitat

Es wäre ebenso auch noch sinnvoll, wenn in der Vervollständigungsliste nicht nur aus einem Wort je Vorschlag bestehen würde, sondern z.B. mit Symbolen der Typ gekennzeichnet würde [z.B. Integer, String, .. oder Function, Sub (bei letzeren zweien sollten auch die Parameter inkl. Parameterdatentypen angezeigt werden), usw. usf.].

Jedenfalls toll, dass es auch eine Auto-Vervollständigung gibt. Besonders bei Type's käme ich da in größeren Projekten ohne diese Funktion nicht mehr aus.

Ich hätte zwar erhofft, dass du nicht nur in bestimmten Situationen auf Vervollständigungsvorschläge überprüfst (weil genau das kann ja FBedit schon lange), sondern den kompletten Quellcode analysierst, aber fürs erste vollkommen ok.
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Stueber



Anmeldungsdatum: 07.07.2008
Beiträge: 202

BeitragVerfasst am: 25.12.2009, 22:20    Titel: Antworten mit Zitat

Das wäre schön, aber der erste Schritt ist zuerst so einfaches Zeug.
Aber man wird sehen wie weit ich das ausbauen kann. zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Stueber



Anmeldungsdatum: 07.07.2008
Beiträge: 202

BeitragVerfasst am: 29.12.2009, 16:32    Titel: Antworten mit Zitat

Ich stehe gerade vor einem unerwartetem Problem, vielleicht fällt einem von euch ja eine Lösung ein.

Also die Ausgangssituation ist, das alle Funktionen mit Parameterliste indexiert werden, auch die Memberfunktionen von Types.

Jetzt hab ich so einen Code Teil:
Code:
dim temp as typename
temp.

Was jetzt passiert ist klar, alle Member werden aufgelistet.

Jetzt wird es aber schwerer:
Code:
type a
  as integer i
end type

type b
  declare function getA () as a
end type


dim temp as b
b.getA().

Jetzt sollte eine Liste angeboten werden in der i zur Auswahl steht.
Das griege ich gerade noch so hin.
Jetzt wird es aber noch schwerer:
Code:

type type1
  as integer i
end type

type type2
  as integer i
end type

type type3
  as integer i
end type


type type4
  declare function get (byval t as type1) as type1
  declare function get (byval t as type2) as type2
  declare function get (byval t as type3) as type3
end type


dim as type2 t2
dim as type4 t4

t4.get(t2).

in der Liste die einem Angeboten wird sollte jetzt i stehen.
Wären das jetzt komplett unterschiedliche Types müsste man ja erstmal herrausfinden welche überladene Funktion gemeint ist.
In diesem Beispiel ist das noch leicht, aber was wenn die zeile sehr verschachtelt ist:
Code:

dim as type2 t2
dim as type4 t4
dim as type3 t3

t4.get(t4.get(t3)).


Jetzt müsst man die ganzen Schritte die man braucht um auf die richtige Funktion zu kommen auch auf die einzelnen Parameter anwenden.
Die könnten wieder so verschachtelt sein.
Ich würde das rekursiv machen aber wie man gesehen hat ist das alles ziemlich verwirrend.
Vielleicht fällt ja jemandem hier etwas besseres ein, ich weis nichtmal ob es anders geht.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 29.12.2009, 17:47    Titel: Antworten mit Zitat

Ich verstehe dein Problem, weiß keine Lösung, zumindest momentan nicht und wollte eigentlich nur anmerken, dass FBEdit damit auch rein gar nicht umgehen kann. grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Stueber



Anmeldungsdatum: 07.07.2008
Beiträge: 202

BeitragVerfasst am: 29.12.2009, 18:25    Titel: Antworten mit Zitat

<Schadenfreude>
Dann ist das ja fürs erste nicht so schlimm lächeln
</Schadenfreude>

Dann muss ich das wohl rekursiv machen, auch wenns sicher total verwirrend wird.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4702
Wohnort: ~/

BeitragVerfasst am: 29.12.2009, 19:20    Titel: Antworten mit Zitat

Ich kann mir nicht vorstellen, dass es anders als rekursiv funktioniert.

Gibt es eigentlich eine aktuelle Linux-taugliche Version?
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Stueber



Anmeldungsdatum: 07.07.2008
Beiträge: 202

BeitragVerfasst am: 29.12.2009, 20:03    Titel: Antworten mit Zitat

Ich sitz gerade daran, heute im Laufe des Abends gibts ne aktuelle Version.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Stueber



Anmeldungsdatum: 07.07.2008
Beiträge: 202

BeitragVerfasst am: 29.12.2009, 21:44    Titel: Antworten mit Zitat

Hier gibts die aktuelle Version für Linux:
http://users.freebasic-portal.de/stueber/Linux/ide_a11.tar.gz

Um sie starten zu können muss libqt-core, libqt-gui und libqt-webkit in Version 4.6 installiert sein (Version ist wichtig!).
Es ist die 64-Bit Version, der Quelltext für eine 32-Bit Version liegt bei (habe ich aber noch nicht getestet).
Die IDE hat bei mir (Ubuntu 9.10 x64) funktioniert.
Es ist die aktuellste Version und besonders die Vervollständigung enthält noch Fehler, aber davon abgesehen tut alles.
Bei Dateien ohne Projekt stürtzt die IDE nach "dim as " ab, das passiert nicht bei Projekten.

Der Designer gibt bisher nur Winapi aus, bald auch GTK aber bis dahin ist er nur zur demonstation geeignet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 956
Wohnort: Austria

BeitragVerfasst am: 30.12.2009, 00:16    Titel: Antworten mit Zitat

MOD hat Folgendes geschrieben:
[...] wollte eigentlich nur anmerken, dass FBEdit damit auch rein gar nicht umgehen kann. grinsen


FBedit schlägt sich dabei ganz gut.

Die beiden ersteren machen keine Probleme.

Funktionsüberladungen ignoriert es jedoch. (d.h. beim 3. wird immer i vorgeschlagen, auch wenn in den anderen types die variable anders hieße

______________


Die Linux Version werd ich bei Gelegenheit in Sidux ausprobieren.
Hab mein Linux aber inzwischen schon über ein halbes Jahr nicht gestartet und da muss ich höchstwahrscheinlich vorher noch ein halbes Gigabyte Updates herunterladen und installieren, bis wieder alles aktuell ist - und das dauert bei meiner langsamen Internetverbindung ewig.
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Stueber



Anmeldungsdatum: 07.07.2008
Beiträge: 202

BeitragVerfasst am: 30.12.2009, 00:20    Titel: Antworten mit Zitat

Die ersten drei bekomm ich auch hin, nur das vierte wird Probleme machen, aber ich hab da schon Pläne.
Wollte ja auch nur wissen obs auch leichter geht als mit meinen Plänen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4702
Wohnort: ~/

BeitragVerfasst am: 30.12.2009, 00:22    Titel: Antworten mit Zitat

Wenn mir jemand eine 32-Bit-Version erstellen könnte, dann teste ich auch mal. Meine qt-Libs sind eine etwas ältere Version, und ich mag da jetzt nicht in den Paketquellen herumfuhrwerken.

Ach ja, leg doch bei Gelegenheit zum Quelltext eine Compilier-Anweisung bei. Ich weiß inzwischen, wie es geht, aber dazu habe ich nochmal diesen Thread durchforsten müssen. happy
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Stueber



Anmeldungsdatum: 07.07.2008
Beiträge: 202

BeitragVerfasst am: 30.12.2009, 00:34    Titel: Antworten mit Zitat

Gut mach ich.
Wenn du es dir selber kompilieren willst kannst du wenn keine Pakete verfügbar sind das SDK installieren. (ist aber sehr groß, >200mb)
Ich schau mal ob ichs in einer virtuellen Maschine hinbekomm.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Stueber



Anmeldungsdatum: 07.07.2008
Beiträge: 202

BeitragVerfasst am: 03.01.2010, 23:48    Titel: Antworten mit Zitat

Kurze Statusinfo:

Das vervollständigen bei Datentypen das bei der Linux Version schon dabei war, was noch ziemlich verbuggt. Das wurde sehr viel verbessert, ich bin damit erstmal zufrieden.

Neue Features:
Wenn man so einen Code hat
Code:
line (0,0)-(100,100),rgb(255,0,0),

und man weis nicht mehr welche Parameter noch nach der Farbe kommen, kann man den Cursor in line setzen und F1 drücken.
Darauf hin öffnet sich der Referenz Eintrag von line.
Das Funktioniert mit allen FB-Schlüsselwörtern, Konstanten, Funktionen und sonstigem.

Planung:
- Goto-Dialog
- Vervollständigung bei Types
- Ein einfaches Dokumentations-Werkzeug dessen Inhalt dann auch mit der F1 Taste verknüpft wird.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The_Muh
aka Mark Aroni


Anmeldungsdatum: 11.09.2006
Beiträge: 718

BeitragVerfasst am: 05.01.2010, 00:04    Titel: Antworten mit Zitat

Stueber hat Folgendes geschrieben:

Planung:
- Goto-Dialog


Goto? Gehe zu zeile xzy oder wie?
_________________
// nicht mehr aktiv //
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Stueber



Anmeldungsdatum: 07.07.2008
Beiträge: 202

BeitragVerfasst am: 05.01.2010, 00:28    Titel: Antworten mit Zitat

Unter anderem, aber auch gehe zu Dekleration oder Definition.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
SL



Anmeldungsdatum: 06.12.2009
Beiträge: 43

BeitragVerfasst am: 12.01.2010, 20:06    Titel: Antworten mit Zitat

Falls das Projekt noch aktuell ist, hier meine Wunschzettel-Ergänzung:

Thema: Syntax-Highlighting

Neben den üblichen Verdächtigten könnte auch Folgendes separat erkannt werden:

    - Variablen in Abhängigkeit vom Gültigkeitsbereich. Soviel ich weiß ist folgendes möglich:
      - Lokal (DIM)
      - Lokal Parameter (BYVAL)
      - Lokal Parameter Erweitert (BYREF)
      - Global (DIM SHARED im Modulebenen-Code
      - Global Erweitert (COMMON SHARED im Modulebenen-Code von mindestens 2 Modulen)

    - Konstanten
    - Unterprogramme (Sub’s, Funktionen)
    - Vom Benutzer definierte Zeichenketten. Doch dieses Feature könnte man auch in die Suchfunktion integrieren. (Auswahl: Alle Markieren)

Thema: automatische Codeergänzung

    - Der Anwender sollte „Kurzbezeichnungen“ (auf Deutsch: „shortcuts“) definieren können. Beispielsweise kann "pr“ nach der Betätigung der Leertaste zu „PRINT“ werden. Jede Textverarbeitung hat so ein Feature.
    - Bei der Verwendung einer undeklarierten Variablen könnte die IDE sofort eine Warnung ausgeben (und eventuell einen Vorschlag zu Dimensionierung unterbreiten.)
    - Hinter „END SUB/FUNCTION“ könnte automatisch eine benutzerdefinierte Kommentarzeile eingefügt werden, die auch den Namen der Sub enthalten kann. Dadurch wird die Lesbarkeit des Listings erhöht.

Und wem das alles nicht passt: Einfach die „unnötigen“ Features ignorieren!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Stueber



Anmeldungsdatum: 07.07.2008
Beiträge: 202

BeitragVerfasst am: 12.01.2010, 20:54    Titel: Antworten mit Zitat

Meine Version die ich noch nicht hochgeladen habe kann schon Variablen, Konstanten, Datentypen und Subs bzw. Funktionen filtern, nur bin ich gerade viel mit Schule beschäftigt und will die nächste Version erst hochladen wenn sich deutlich was getan hat.

Das was modd FB-PRO genannt hat verfolge ich gerade, es wird aus der IDE und zwei anderen Komponenten bestehen von denen sich gerade eins im geschlossenen Test befindet und das zweite noch vollkommen "geheim" ist.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Stueber



Anmeldungsdatum: 07.07.2008
Beiträge: 202

BeitragVerfasst am: 16.01.2010, 15:43    Titel: Vererbung Antworten mit Zitat

Ich hab mir was neues überlegt zur Vererbung und wollte mal wissen was ihr davon haltet:
Bisher wurde ja aus diesem Quelltext
Code:
type a
  i as integer
  declare sub p()
end type

sub a.p ()
  print i
end sub


type b : extends a
  i2 as integer
end type


dieser

Code:
type a
  i as integer
  declare sub p()
end type

sub a.p ()
  print i
end sub


type b
  i2 as integer
  i as integer
  declare sub p()
end type

sub b.p ()
  print i
end sub

Wie man sieht ist die Funktion p() am Ende zwei mal im Quelltext.
Jetzt war meine Idee so:
Aus dem ersten Code weiter oben wird
Code:
type a
  i as integer
  declare sub p()
end type

sub a.p ()
  print i
end sub


type b
  parent as a
  i2 as integer
  declare property i () as integer
  declare property i (byval new_i as integer)
  declare sub p()
end type

sub b.p ()
  parent.p()
end sub

property b.i() as integer
  return parent.i
end property

property b.i(byval new_i as integer)
  parent.i = new_i
end property

Auf den ersten Blick ist das mehr Quelltext aber die Funktion a.p() ist jetzt nur einmal wirklich im späteren Programm. Wäre a.p() eine große Funktion wäre der untere Quelltext viel kürzer als der obere.
So wird die Zeit die FreeBASIC braucht, um das Programm zu kompilieren, kaum verlängert und das Ergebniss ist das gleiche.
Auf jedenfall weniger Pseudo-Vererbung als die bisherige Idee.

Was haltet ihr davon?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
SL



Anmeldungsdatum: 06.12.2009
Beiträge: 43

BeitragVerfasst am: 18.01.2010, 23:10    Titel: Antworten mit Zitat

Auf Vorschlag von Stüber poste ich hier weiter. Für die, welche nicht im Bilde sind: Meine Frage war, wieso Deklarationen (für Funktionen) nicht automatisch von der IDE erzeugt werden. Aktuell benutze ich FBide. Und die kann so was nicht (oder ich war bisher zu blöd um das rauszufinden).

Meine alte „Programmierumgebung“ von VBDOS kann so was (und noch ein paar Dinge mehr, z.B. eine Hilfe für Symbole)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Stueber



Anmeldungsdatum: 07.07.2008
Beiträge: 202

BeitragVerfasst am: 18.01.2010, 23:20    Titel: Antworten mit Zitat

Ich könnte mit wenig Aufwand einbauen, dass zu jedem Projekt ein Header hinzugefügt wird, den man nicht manuell bearbeiten kann. In diesen Header könnte die IDE dann alle Deklerationen schreiben, und sie ändern falls im Quelltext was geändert wird. Danach bindet man diesen Header einfach überall ein, eventuell auch automatisch, und schon wärs gemacht.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Weiter
Seite 8 von 10

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz