Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Sippo

Anmeldungsdatum: 17.04.2008 Beiträge: 125
|
Verfasst am: 07.10.2008, 19:14 Titel: seltsamer Fehler |
|
|
jedes Mal wenn ich mein Programm ausführen will kommt folgender Fehler:
D:\Anderes\basic\fb\FreeBASIC\FBIDETEMP.o:fake:(.text+0x95c): undefined reference to `EDIT@0'
Was hat das zu bedeuten beziehungsweise was habe ich falsch gemacht? |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
Sippo

Anmeldungsdatum: 17.04.2008 Beiträge: 125
|
Verfasst am: 07.10.2008, 19:41 Titel: |
|
|
der fehler tritt nicht nur bei enem programm auf, ist nach einem neustert meist wieder weg und tritt nicht beim kompilieren (was ich nicht versucht hab) auf sondern beim ausführen (quick run). |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
Sippo

Anmeldungsdatum: 17.04.2008 Beiträge: 125
|
Verfasst am: 07.10.2008, 20:14 Titel: |
|
|
Habe nun eine Weile herumprobiert und das Problem scheint doch nur einige Programme zu betreffen ich habe mittlerweile auch die Gegend gefunden in welcher der Fehler liegen muss, muss nur noch den eigentlichen Fehler finden. Trotzdem Danke für deine Hilfe werde mich vielleicht noch einmal melden, sollte ich den Fehler nicht selbst finden können.
edit:
Ich weiß nun woher der kam und zwar hatte ich versehentlicher Weise vergessen ein deklariertes sub auf welches auch verwiesen war zu erstellen.
dafür bin ich nun an einem anderen Punkt hängen geblieben und zwar soll das Programm in eine noch nicht existierende Textdatei schreiben und diese Datei erstellen. Anscheinend macht das FreeBasic aber nicht alleine wie kann ich bewerkstelligen dass die Datei erstellt wird? Ach so. Die Datei soll auch noch in einem neu angelegten Unterordner liegen. |
|
Nach oben |
|
 |
The_Muh aka Mark Aroni

Anmeldungsdatum: 11.09.2006 Beiträge: 718
|
Verfasst am: 08.10.2008, 15:33 Titel: |
|
|
Datei erstellen und beschreieben? mit Open!
Code: |
(...)
open "datei.endung" for output as #1
PRINT #1, variable
(...)
close #1
(...)
|
(...) steht für eventuellen code an der stelle
Achja: Print #1, funzt auch mit mehreren variablen und mit mehrere zeilen (entweder mit 2 oder mehr print anweisungen, oder mit einem "chr(13,10)" zwischen den variablen... diese bitte mit einem komma trennen.
hoffe es is verständlich
mfg
The_Muh _________________ // nicht mehr aktiv // |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 08.10.2008, 16:04 Titel: |
|
|
PRINT # funktioniert im Prinzip wie PRINT, nur dass eben in die Datei geschrieben wird statt auf den Bildschirm.
Übrigens erzeugt nur OPEN ... FOR INPUT keine neue Datei (falls sie nicht existiert); die anderen Schlüsselwörter wie z. B. OUTPUT legen eine neue Datei an. Wichtig ist aber wieder, dass nicht bereits eine andere Datei unter derselben Nummer geöffnet ist. Sicherheitshalber kannst du auch FREEFILE verwenden:
Code: | DIM AS UBYTE filenr = FREEFILE
OPEN "datei.endung" FOR OUTPUT AS #filenr
PRINT #filenr, variable
' weiterer Code
CLOSE #filenr |
_________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Sippo

Anmeldungsdatum: 17.04.2008 Beiträge: 125
|
Verfasst am: 08.10.2008, 16:33 Titel: |
|
|
eine datei zu erstellen war ja nicht das problem eher eine Datei in einem neuen ordner. naja ich werde nochmal versuchen. |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 08.10.2008, 16:46 Titel: |
|
|
Zum Erstellen eines Ordners gibt es einen eigenen Befehl: MKDIR. Erst den Ordner erstellen, dann eine Datei innerhalb dieses Ordners. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Sippo

Anmeldungsdatum: 17.04.2008 Beiträge: 125
|
Verfasst am: 08.10.2008, 16:52 Titel: |
|
|
ok thx werde ich ausprobieren
ps: weiß noch wer was in 32 bit weiß ist? &H99999999????????? |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
Sippo

Anmeldungsdatum: 17.04.2008 Beiträge: 125
|
Verfasst am: 08.10.2008, 17:06 Titel: |
|
|
aso ok thx
und dummerweise schon weder ne frage. ich produzire mehr fragen als programm obwohl ich die tutorials gemacht habe... ist aber schon ne weile her xD
und zwar diesmal die frage wie kann ich einen text, der in einer variable abgepeichert ist auf den bildschirm schreiben aber praktich noch nicht enter drücken. so dass man ihn halt noch verändern kann????
 |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 08.10.2008, 17:25 Titel: |
|
|
Da gibt es keinen eingebauten Befehl für; du kannst natürlich den Text mit PRINT ausgeben und nachfragen, ob er geändert werden soll (INPUT); wenn nicht, dann einfach RETURN drücken (d. h. bei einer leeren Eingabe wird der alte Wert übernommen), ansonsten den gewünschten Wert noch einmal eingeben (d. h. bei nicht leerer Eingabe wird diese als neuer Wert übernommen).
Ansonsten musst du dir eine eigene Eingabe-Routine schreiben, der du auch eine Vorbelegung übergeben kannst. Suche mal hier im Forum, da wurde schon einmal über so eine eigene Eingabefunktion diskutiert. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
*Andy*
Anmeldungsdatum: 15.12.2007 Beiträge: 9
|
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 08.10.2008, 17:43 Titel: |
|
|
Das Schöne an so einer Funktion ist außerdem: Du kannst, wenn du willst, auch nur bestimmte Zeichen zulassen, z. B. nur Buchstaben oder nur Zahlen und Punkt. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Sippo

Anmeldungsdatum: 17.04.2008 Beiträge: 125
|
Verfasst am: 08.10.2008, 17:49 Titel: |
|
|
oh je ist ja schlimm eine frage beantwortet schon die nächste.
aber wie kann ich denn in einer teiferen zeile in einer textdatei schreiben oder nuss ich jedes mal alles neu reinschreiben? |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 08.10.2008, 17:55 Titel: |
|
|
Anhängen geht (APPEND); zwischendrin eine Zeile ändern geht nicht (bzw. nur dann fehlerlos, wenn sich die Zeilenlänge nicht ändert). _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Sippo

Anmeldungsdatum: 17.04.2008 Beiträge: 125
|
Verfasst am: 08.10.2008, 17:57 Titel: |
|
|
ok thx puh ma keine fragen ihr habt mich echt weitergebracht danke!!!  |
|
Nach oben |
|
 |
The_Muh aka Mark Aroni

Anmeldungsdatum: 11.09.2006 Beiträge: 718
|
Verfasst am: 08.10.2008, 18:22 Titel: |
|
|
Einfügen? geht auch, is aber umständlich:
Code: |
dim inhalt() as string
dim i as integer
dim pos as integer
open datei for input as #1
while not eof(1)
i += 1
redim preverse inhalt(i)
line input #1, inhalt(i)
wend
close #1
redim preverse inhalt(i+1)
for x as integer = pos +1 TO ubound(inhalt)
inhalt(x) = inhalt(x+1)
next
inhalt(pos) = "eingefügtes"
open datei for output as #1
for x as integer = 1 to ubound(inhalt)
print #1, inhalt(x)
next
close #1
|
da ich den code direkt hier rein geschrieben hab, keine garantie auf funktion! sollte aber funktionieren. (bis auf datei... weil die variable nicht gedimmt is xD) ... soll aber auch eher das prinzip verdeutlichen _________________ // nicht mehr aktiv // |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 08.10.2008, 19:56 Titel: |
|
|
Sicher, ist halt ein Auslesen und komplettes Neuschreiben.  _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
|