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:

Dynamische Arrays erstellen

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 11.11.2007, 14:45    Titel: Dynamische Arrays erstellen Antworten mit Zitat

Ich möchte ein String-Array erstellen, wobei aber die Anzahl und der Inhalt der Felder erst zur Laufzeit ermittelt werden. Also etwa so:

Code:

Function Anzahl_ermitteln(***) as Integer
   .   
   .
   .
   return ermittelte_Anzahl
End Function

Dim Anzahl as Integer
Dim FOO(Anzahl) as String

Anzahl = Anzahl ermitteln(+++)
For X = 1 to Anzahl
   Print FOO(X)
Next X


Erschwerend kommt hinzu, daß FOO, Anzahl und Anzahl_ermitteln alle drei Teile eines UDT sind.

Wie mache ich das? Bin für jeden Tip dankbar.
_________________
Und die Grundgebihr is aa scho drin- DOS is jo nett.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 11.11.2007, 14:47    Titel: Antworten mit Zitat

Schau nach REDIM und REDIM PRESERVE.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
nemored



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

BeitragVerfasst am: 11.11.2007, 14:57    Titel: Antworten mit Zitat

Ich glaube allerdings, dass REDIM bzw. dynamische Felder überhaupt nicht mit UDTs funktionieren.
_________________
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
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 11.11.2007, 16:49    Titel: Antworten mit Zitat

In meinem SplitString benutze ich auch dynamische Arrays(für Strings)..
Bedenke, daß ReDim Preserve () nur mit EIN-dimensionalen Arrays funktioniert..
..theoretisch wär das auch bei UDT-Arrays so, aber ausprobiert habe ich es noch nicht..
Hier ist ja noch Platz für eine Ergebnismeldung, wenn nicht sonst jemand schneller ist happy
[Edit]
ReDim funktioniert auch mit UDTs: hier ist ein Beispiel
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..

Zuletzt bearbeitet von ytwinky am 11.11.2007, 17:56, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 11.11.2007, 17:49    Titel: Antworten mit Zitat

Ok, danke für die Antworten.
@YTwinky
Das trifft es in etwa, was ich vor habe. Aber ich probiere mal, ob es auch einfacher und in UDTs geht.
_________________
Und die Grundgebihr is aa scho drin- DOS is jo nett.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



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

BeitragVerfasst am: 11.11.2007, 21:30    Titel: Antworten mit Zitat

ytwinky hat Folgendes geschrieben:
ReDim funktioniert auch mit UDTs: hier ist ein Beispiel

Ich hatte die Frage so aufgefasst, dass ein Record eines UDTs redimensioniert werden soll. Das geht meines Wissens nicht.
_________________
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
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 11.11.2007, 22:06    Titel: Antworten mit Zitat

nemored hat Folgendes geschrieben:
Ich hatte die Frage so aufgefasst, dass ein Record eines UDTs redimensioniert werden soll
..auf so eine Idee bin ich gar nicht gekommen happy
und ich glaube auch nicht, daß das geht..
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 11.11.2007, 22:26    Titel: Antworten mit Zitat

Is ja eigentlich auch logisch, dass das nicht geht... zwinkern
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
croco97



Anmeldungsdatum: 04.11.2005
Beiträge: 260

BeitragVerfasst am: 12.11.2007, 17:55    Titel: Antworten mit Zitat

Es ist auch nie schlecht, für solche Fragen das Oma-Tutorial zu konsultieren zwinkern

Teil 3 -> Strukturierte Programmierung II: Zeiger -> Dynamische Arrays.

Wer's noch komfortabler haben will, darf sich auch im Folgekapitel die Containerlisten reinziehen.

Viele Grüsse!

Croco
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 12.11.2007, 18:42    Titel: Antworten mit Zitat

Hi,
das ist sicher richtig Croco grinsen
Manchmal habe ich allerdings das Gefühl, es gibt Leute, die laden sich ein Tutorial
oder die Referenz runter und glauben, damit wär' alles erledigt happy
Das erinnert mich an den Spruch: Lehrbuch unters Kopfkissen legen, dann kann die Klausur nicht schiefgehen..
..den Seinen gibts der Herr im Schlaf lachen
Keiner kann gezwungen werden, das zu verstehen, was er da gelesen hat..
..aber wenigstens gelesen haben sollte er es schon mal.
Wie sonst sollte ich mir die Frage: Wie prüfe ich, ob ein Teilstring in einem anderen String vorhanden ist?
denn erklären zwinkern
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
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