|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Input
Anmeldungsdatum: 28.07.2014 Beiträge: 59
|
Verfasst am: 28.07.2014, 19:53 Titel: Such-Algorithmus |
|
|
Hallo liebes Forum. Ich habe einen langen Text ohne Zeilenumbruch, den ich auf bestimmte Begriffe in einem gewissen Bereich absuchen möchte. Mit einem Begriff ist das auch kein Problem; ich suche aber zwei Begriffe gleichzeitig und da komm ich einfach nicht weiter. Wäre schön, wenn mir da jemand helfen könnte. Vielen Dank.
Code: |
dim as integer f=freefile,i,j,stellen
dim as string suche1,suche2,text
input "Suchbegriffe eingeben: ",suche1,suche2
Kill "Text.txt"
open "Finden.txt" for input as #1
open "Text.txt" for append as #2
line input #f,text
for i=0 to len(text)
if mid(text,i,len(suche1))=suche1 then
line input #f,text
for j=i-360 to i+360
if mid(text,j,len(suche2))=suche2 then print #2,mid(text,i-360,i+360):print #2," ":exit for
next j
end if
next i
print #2,""
print #2,"Suchbegriff: ";suche1,suche2
print #2,"Stellen: ";stellen
print #2," "
close #1
close #2
shell "START Notepad.exe Text.txt"
|
|
|
Nach oben |
|
|
Input
Anmeldungsdatum: 28.07.2014 Beiträge: 59
|
Verfasst am: 28.07.2014, 21:26 Titel: Re: Such-Algorithmus |
|
|
Hat sich erledigt; werd das etwa so machen:
Code: |
dim as integer f=freefile,i,j,stellen
dim as string suche1,suche2,text
input "Suchbegriffe eingeben: ",suche1,suche2
Kill "Text.txt"
open "Finden.txt" for input as #1
open "Text.txt" for append as #2
line input #f,text
for i=0 to len(text)
if mid(text,i,len(suche1))=suche1 then
for j=i to i+360
if mid(text,j,len(suche2))=suche2 then
print #2,mid(text,i-360,720)
print #2,""
stellen=stellen+1
exit for
end if
next j
end if
next i
print #2,""
print #2,"Suchbegriff: ";suche1,suche2
print #2,"Stellen: ";stellen
print #2," "
close #1
close #2
shell "START Notepad.exe Text.txt"
|
Für Verbesserungsvorschläge bin ich aber gerne noch zu haben.
Zuletzt bearbeitet von Input am 28.07.2014, 21:59, insgesamt 2-mal bearbeitet |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4644 Wohnort: ~/
|
Verfasst am: 28.07.2014, 21:41 Titel: |
|
|
Bin mir nicht ganz sicher, was du mit den zwei Begriffen gleichzeitig meinst - sollen beide Begriffe in derselben Zeile vorkommen? Du kannst auf jeden Fall erst einmal nach dem ersten Begriff suchen, und wenn du ih gefunden hast, nochmal von vorn eine Suche nach dem zweiten Begriff starten (wenn es eine "UND"-Suche sein soll). _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
Input
Anmeldungsdatum: 28.07.2014 Beiträge: 59
|
Verfasst am: 28.07.2014, 21:51 Titel: |
|
|
Ja, es lag wohl an der zweiten Schleife. Danke dir. |
|
Nach oben |
|
|
HorstD
Anmeldungsdatum: 01.11.2007 Beiträge: 110
|
Verfasst am: 28.07.2014, 22:05 Titel: |
|
|
Sieh' dir mal INSTR an. |
|
Nach oben |
|
|
Input
Anmeldungsdatum: 28.07.2014 Beiträge: 59
|
Verfasst am: 29.07.2014, 05:26 Titel: |
|
|
Daran hab ich auch schon gedacht. Das Problem ist halt nur, dass man da mit Absätzen arbeiten muss; und bei grossen Texten hat man da ewig um zu formatieren.
EDIT: So, habs noch etwas verbessert und eine dritte Schleife reingebastelt:
Code: | dim as integer i,j,k,stellen
dim as string suche1,suche2,suche3,text
input "Suchbegriffe: ",suche1,suche2,suche3
Kill "Text.txt"
open "Finden.txt" for input as #1
open "Text.txt" for append as #2
line input #1,text
if suche3="" then
for i=0 to len(text)
if mid(text,i,len(suche1))=suche1 then
for j=i to i+400
if mid(text,j,len(suche2))=suche2 then
print #2,mid(text,i-400,800)
print #2,""
stellen=stellen+1
exit for
end if
next j
end if
next i
end if
if suche3>"" then
for i=0 to len(text)
if mid(text,i,len(suche1))=suche1 then
for j=i to i+400
if mid(text,j,len(suche2))=suche2 then
for k=i to i+400
if mid(text,k,len(suche3))=suche3 then
print #2,mid(text,i-400,800)
print #2,""
stellen=stellen+1
end if
next k
end if
next j
end if
next i
end if
print #2,""
print #2,"Suche: ";suche1;" ";suche2;" ";suche3
print #2,"Anzahl:";stellen
print #2,""
close #1
close #2
shell "START Notepad.exe Text.txt" |
|
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4644 Wohnort: ~/
|
Verfasst am: 29.07.2014, 12:44 Titel: |
|
|
Zitat: | Daran hab ich auch schon gedacht. Das Problem ist halt nur, dass man da mit Absätzen arbeiten muss; und bei grossen Texten hat man da ewig um zu formatieren. |
Du liest doch so oder so nur zeilenweise ein (bzw. in diesem Programm sogar nur eine einzelne Zeile), daher sehe ich den Nachteil von INSTR im Vergleich dazu nicht. Wenn es um Geschwindigkeit geht oder um das Suchen in einer gesamten Datei, ohne sie komplett in den Speicher laden zu müssen, müsste man eher auf einen zeichenweisen Vergleich hinarbeiten anstatt auf MID. MID ist halt in dieser massiven Verwendung schon sehr langsam (bei kleinen Datenmengen wird das noch keine Rolle spielen).
Was anderes:
Code: | Kill "Text.txt"
' ...
open "Text.txt" for append as #2 |
Warum nicht gleich einfach OPEN FOR OUTPUT? Das überschreibt die bestehenden Daten auch. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1231 Wohnort: Ruhrpott
|
Verfasst am: 29.07.2014, 13:51 Titel: |
|
|
Hallo Input!
Wenn ich mir einige Anmerkungen erlauben darf:
1):
Wenn du Code: | Open "Text.txt" For Append As #2 | durch Code: | Open "Text.txt" For Output As #2 | ersetzt, kannst du dir die Zeilekomplett sparen, denn die Datei wird dann jedesmal neu angelegt.
2):
Das erste Zeichen in einem String hat den Index 1, statt Code: | For i=0 To Len(text) | müsste es also korrekt heißen Code: | For i=1 To Len(text) |
3):
Code: | stellen = stellen + 1 | lässt sich bequemer alsschreiben
4):
Einrückungen im Quelltext erleichtern die Lesbarkeit eines Programms ganz enorm, und Kommentare sind sehr hilfreich für dessen Verständnis (auch wenn's zusätzliche Arbeit macht )
Außerdem ist es ziemlich ineffektiv, für jede Anzahl von Suchbegriffen einen eigenen Programmabschnitt zu schreiben, besonders, wenn das Ganze durch die Verschachtelung immer komplizierter wird. Hier kannst du besser eine Schleife programmieren, die nacheinander alle Suchbegriffe abarbeitet. Das ist nicht nur übersichtlicher, sondern hat auch den Vorteil, daß du die Zahl der Suchbegriffe sehr leicht variabel machen kannst: Code: | Dim As Integer x,i,j,stellen
Dim As String text,fund
ReDim As String suche(1)
i = 0
Do 'suchbegriffe eingeben
i += 1
ReDim Preserve suche(i)
Print "Suchbegriff";i;" :"
Locate CsrLin-1, 17
Input "", suche(i)
Loop Until suche(i) = ""
ReDim Preserve suche(UBound(suche) - 1) 'letzten arrayplatz löschen
Open "Finden.txt" For Input As #1
Open "Text.txt" For Output As #2
Line Input #1,text
i = 0
Do While InStr(i + 1,text,suche(1)) '1. suchbegriff
i = InStr(i + 1,text,suche(1)) 'fundstelle merken
fund = Mid(text,i,400) 'folgende 400 zeichen isolieren
For x = 1 To UBound(suche) 'nach restlichen begriffen durchsuchen
j = InStr(fund,suche(x)) 'x. begriff suchen
If j Then 'begriff gefunden
i += j 'index aktualisieren
If x = UBound(suche) Then 'alle suchbegriffe gefunden
j = i - 400 'index für textbeginn
If j < 1 Then 'index darf nicht kleiner als 1 sein
j = 1
EndIf
Print #2, Mid(text,j,800) 'gesuchte textstelle in datei schreiben
Print #2,""
stellen += 1 'zähler erhöhen
Else
fund = Mid(text,i,400) 'textabschnitt für nächsten suchbegriff isolieren
EndIf
Else 'begriff nicht gefunden
Exit For 'suche abbrechen
EndIf
Next
Loop 'weitersuchen
Print #2,""
Print #2,"Suche: ";
For x = 1 To UBound(suche)
Print #2,suche(x);" ";
Next
Print #2,"Anzahl:";stellen
Print #2,""
Close #1
Close #2
Shell "START Notepad.exe Text.txt" |
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
Input
Anmeldungsdatum: 28.07.2014 Beiträge: 59
|
Verfasst am: 29.07.2014, 14:02 Titel: |
|
|
Vielen Dank euch allen!! |
|
Nach oben |
|
|
RockTheSchock
Anmeldungsdatum: 04.04.2007 Beiträge: 138
|
Verfasst am: 29.07.2014, 15:05 Titel: Suche etwas allgemeiner |
|
|
Ich hab da mal ein etwas algemeineren Ansatz mit beliebig vielen Suchbegriffen. Letztlich kann man mit diesem Ansatz die Suche von der Darstellung der Ergebnisse besser trennen.
Code: |
Function Finde(text As String, muster() As String,positionen() As String,stellen() As Integer,casesensitive As Integer=0) As Integer
Dim position As Integer
Dim gesamtstellen As Integer
If casesensitive = 0 Then
text=LCase(text)
EndIf
For i As Integer = LBound(muster) To UBound(muster)
position = 0
Do
If casesensitive = 0 Then
position = InStr(position+1,text,LCase(muster(i)))
Else
position = InStr(position+1,text,muster(i))
EndIf
If position > 0 Then
stellen(i)=stellen(i)+1
gesamtstellen = gesamtstellen + 1
If Len(positionen(i))= 0 Then
positionen(i) = Str(position)
Else
positionen(i) =positionen(i)+";"+Str(position)
End If
EndIf
Loop until position = 0
Next
Return gesamtstellen
End Function
Sub StarteSuche(textdatei As String,musterdatei As String)
Dim As Integer tdat, mdat
Dim text As String
Dim textzeile As String
Dim zeile As Integer
Dim mindex As Integer
ReDim muster() As String
ReDim positionen() As String
ReDim stellen() As Integer
Dim tmpmuster As String
mdat = FreeFile
Open musterdatei For Input As mdat
Do Until Eof(mdat)
Input #mdat,tmpmuster
If Len(tmpmuster)>0 Then
ReDim Preserve muster(mindex)
muster(mindex) = tmpmuster
mindex = mindex+1
EndIf
Loop
Print "Anzahl der Suchmuster:", UBound(muster)+1
Print "Suchmuster: ";
For i As Integer = LBound(muster) To UBound(muster)
Print muster(i);" ";
Next
Print
Print
tdat = FreeFile
Open textdatei For Input As tdat
Do Until Eof(tdat)
Line Input #tdat, textzeile
zeile = zeile + 1
text = text + textzeile
'Suche in Textdatei Zeilenweise nach Mustern
'ohne Groß-und Kleinschreibung zu beachten
ReDim positionen(UBound(muster)) As String
ReDim stellen(UBound(muster)) As Integer
Print "Zeile ";zeile," Fundstelle(n): ";
Print Finde(textzeile,muster(),positionen(),stellen())
Print String(40,"-")
For i As Integer = LBound(muster) To UBound(muster)
Print "Suchbegriff: ", muster(i)
Print stellen(i);" Fundstellen: "; positionen(i)
Print
Next
Loop
Sleep
Cls
'Suche in gesamter Textdatei nach Mustern
'Groß-und Kleinschreibung beachten
ReDim positionen(UBound(muster)) As String
ReDim stellen(UBound(muster)) As Integer
Print "Fundstellen Gesamt: ";
Print Finde(text,muster(),positionen(),stellen(),1)
For i As Integer = LBound(muster) To UBound(muster)
Print "Suchbegriff: ", muster(i)
Print stellen(i);" Fundstellen: "; positionen(i)
Print
Next
End Sub
Screen 0
Width 120,60
'shell "START Notepad.exe Muster.txt"
'sleep
StarteSuche "Text.txt","Muster.txt"
Sleep
|
Text.txt
Code: | Hallo liebes Forum. Ich habe einen langen Text ohne Zeilenumbruch, den ich auf bestimmte Begriffe in einem gewissen Bereich absuchen möchte.
Mit einem Begriff ist das auch kein Problem; ich suche aber zwei Begriffe gleichzeitig und da
komm ich einfach nicht weiter. Wäre schön, wenn mir da jemand helfen könnte. Vielen Dank. |
Muster.txt
|
|
Nach oben |
|
|
Input
Anmeldungsdatum: 28.07.2014 Beiträge: 59
|
Verfasst am: 29.07.2014, 22:33 Titel: |
|
|
Hab da mal noch meine "Monster-Version":
Code: | dim as integer i:dim as string suche,text
do:input "Suche: ",suche:cls
open "Text.txt" for input as #1
line input #1,text:for i=1 to len(text)
if mid(text,i,len(suche))=suche then _
print mid(text,i-400,800):print ""
next i:close #1:loop |
|
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4644 Wohnort: ~/
|
Verfasst am: 30.07.2014, 11:07 Titel: |
|
|
Ist es eigentlich wirklich Absicht, dass du aus deiner Datei nur eine einzige Zeile (bzw. Absatz ohne Zeilenumbruch) ausliest? Kann ja sein, dass der Text mal mehrere Absätze hat.
Noch mal zu INSTR (in der Eine-Zeile-Version)
Code: | dim suche as string, text as string, fund as integer
do
input "Suche: ", suche
if suche = "" then exit do
cls
open "Text.txt" for input as #1
line input #1, text
fund = instr(text, suche)
if fund then print mid(text, fund-400,800) : print
close #1
loop |
Trotz sauberer Zeilenumbrüche und Abbruchbedingung nur unwesentlich länger.
Allerdings gibt es (in deiner und meiner Version) Probleme, wenn vor der Fundstelle 400 Zeichen oder weniger liegen, also wenn i-400 (bzw. fund-400) kleiner oder gleich 0 ist.
Statt 'INPUT "Suche: ", suche' würde sich wohl auch eher LINE INPUT anbieten, dann kannst du auch nach Kommata suchen.
edit: als Diskussionsbeitrag eine Suchfunktion (bisher nur case sensitive, aber erweiterbar), die nur einen einzigen Durchlauf durch den zu durchsuchenden String vornimmt. Bei einer Suche nach vielen Begriffen gleichzeitig sollte die Funktion wesentlich effektiver als INSTR sein; für Verbesserungsvorschläge und Hinweise auf Fehler bin ich aber natürlich offen. (Ich fürchte ja, dass es etwas in dieser Art im Portal schon das ein oder andere Mal gibt. ) _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1231 Wohnort: Ruhrpott
|
Verfasst am: 31.07.2014, 05:46 Titel: |
|
|
Nur mal am Rande: Mit Code: | Open "Textl.txt" For Binary Access Read As #1
text = Input(Lof(1),#1) | lässt sich eine Datei auch dann in einen einzigen String einlesen, wenn sie Zeilenumbrüche enthält.
@nemored / Suchfunktion: Ich glaube, viel besser kann man es nicht machen. Und was die case sensitivity (tolles Wort ) betrifft, so kann man ja sowohl den Text als auch die Suchbegriffe vom aufrufenden Programm aus als lowcase übergeben.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
RockTheSchock
Anmeldungsdatum: 04.04.2007 Beiträge: 138
|
Verfasst am: 31.07.2014, 08:02 Titel: |
|
|
Du solltest dir von Anfang einen Programmierstil angewöhnen, der möglichst sauber ist, sodass man / du auch Jahre später schnell versteht worum es geht.
z.B. ist mir jetzt an meinem Code aufgefallen, dass ich etwas ungenau war. Im Prinzip möchte man Fehler vermeiden, indem komplexe Dinge in Funktionen gekapselt werden. Dabei sollte eine Funktion niemals zu komplex werden. Dazu hilft es Sie aufzuteilen, sobald sie nicht mehr ganz auf den Bildschirm passt. Einrückungen und pro Zeile eine Anweisung sind dabei Grundvoraussetzung Fehler zu vermeiden.
Ich habe das ReDim von positionen() und stellen() dem Aufrufer überlassen. D.h. Funktion Finde() setzt Dinge voraus. Es findet aber keine Überprüfung dieser Voraussetzungen statt. Besser ist also dass ReDim in die Funktion zu verlagern.
Code: | If UBound(muster)<0 Then
Return 0
EndIf
ReDim positionen(UBound(muster)) As String
ReDim stellen(UBound(muster)) As Integer
|
Das ganze müsste man weiter spinnen. Ich habe die Eingabe, also das Lesen der Daten aus der Datei und die Ausgabe also das Anzeigen der Suchergebnisse in eine einzige Funktion getan. Besser wäre es gewesen diese beiden Schritte in SUBs/FUNCTIONS aufzuteilen.
Dann wird man auch flexibler, weil man ja vielleicht auch andere Eingabe und Ausgabe Möglichkeiten haben möchte. |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1231 Wohnort: Ruhrpott
|
Verfasst am: 31.07.2014, 16:36 Titel: |
|
|
RockTheSchock hat Folgendes geschrieben: | Dazu hilft es Sie aufzuteilen, sobald sie nicht mehr ganz auf den Bildschirm passt | Man sollte es aber auch nicht übertreiben. Das mutwillige Zerfasern eines Programms erhöht nicht unbedingt dessen Lesbarkeit. Zumal auch jeder Prozeduraufruf Ressourcen kostet...
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
RockTheSchock
Anmeldungsdatum: 04.04.2007 Beiträge: 138
|
Verfasst am: 31.07.2014, 19:03 Titel: |
|
|
grindstone hat Folgendes geschrieben: | Man sollte es aber auch nicht übertreiben. Das mutwillige Zerfasern eines Programms erhöht nicht unbedingt dessen Lesbarkeit. Zumal auch jeder Prozeduraufruf Ressourcen kostet... |
Da hast du natürlich Recht!
Solange man aber nicht Aufrufe eines 2-Zeilen-Unterprograms in die innerste Schleife bei einer iterativen Berechnung packt, ist der Ressourcen-Aufwand vernachlässigbar. Der liegt in der Regel bei wenigen Byte + ein paar Taktzyklen. Du wirst mir aber sicher zustimmen, dass Funktionen, oder auch das Hauptprogramm als Richtwert maximal eine Seite also etwa 50 Zeilen lang sein sollten, damit man den Überblick nicht verliert.
Außerdem sollte man Redundanz vermeiden. Immer da wo man Teile seines Programms per Copy and Paste kopiert und nur leicht abgeändert einfügt, kann man das mit Prozeduren besser lösen. Ich mach das allein schon aus Faulheit, weils kürzer ist. |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1231 Wohnort: Ruhrpott
|
Verfasst am: 02.08.2014, 17:09 Titel: |
|
|
Das Argument mit dem Ressourcenverbrauch ist -zugegeben- wirklich ein wenig an den Haaren herbeigezogen.
Ich habe mir aber, ehrlich gesagt, noch nie irgendwelche Gedanken über eine bestimmte Zeilenanzahl gemacht. Wenn der Quelltext übersichtlich ist und sich gut lesen lässt, ist es gut, wenn nicht, ist es schlecht und muß verbessert werden. Beispielsweise erhöht es die Übersichtlichkeit enorm, wenn man einzelne Sinnabschnitte durch eine Leerzeile optisch voneinander trennt (oder bei Bedarf auch durch zwei Leerzeilen oder eine Sternchenreihe). Was da im einzelnen sinnvoll ist, hängt auch von der Aufgabenstellung ab oder davon, ob man alleine oder zu mehreren an einem Programm arbeitet.
Mit dem "mutwilligen Zerfasern" hatte ich die Unart einiger (C-)Programmierer im Hinterkopf, ein Programm auf 30 oder 40 (weitgehend unkommentierte) Minidateinen zu verteilen, deren gegenseitige Abhängigkeiten für einen Aussenstehenden kaum zu durchschauen sind. Als abschreckendes Beispiel kannst du dir einmal den Quellcode von Winamp ansehen.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 02.08.2014, 20:07 Titel: |
|
|
grindstone hat Folgendes geschrieben: |
Mit dem "mutwilligen Zerfasern" hatte ich die Unart einiger (C-)Programmierer im Hinterkopf, ein Programm auf 30 oder 40 (weitgehend unkommentierte) Minidateinen zu verteilen |
Dann schau dir bloß nicht Java an, da wirst du gezwungen, sowas zu tun.
Außerdem: Seit wann ist Winamp OSS? _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1231 Wohnort: Ruhrpott
|
Verfasst am: 02.08.2014, 21:45 Titel: |
|
|
Jojo hat Folgendes geschrieben: | Dann schau dir bloß nicht Java an | Bis jetzt habe ich mich erfolgreich davor gedrückt...
Jojo hat Folgendes geschrieben: | Seit wann ist Winamp OSS? | Upps, jetzt hast du mich erwischt! Ich meinte das Winamp SDK. Ist ja auch ne Art Quellcode...
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 03.08.2014, 13:42 Titel: |
|
|
Das Winamp-SDK mag jetzt nicht das schönste sein, aber es ist eigentlich sinnvoll unterteilt - nämlich in unterschiedliche Funktionalitäten. Es wird nur das eingebunden, was man wirklich braucht. Aber das scheint ja bei (Free)BASIC-Menschen verpönt zu sein, wo die Grafikbefehle jederzeit im globalen Namespace verfügbar sein müssen, egal ob man nun ein Programm mit FBGFX-Grafikausgabe schreibt oder nicht... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
|
|
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.
|
|