| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen   | 
	
	
	
		| Autor | 
		Nachricht | 
	
	
		DJ Sayphor
 
 
  Anmeldungsdatum: 19.01.2014 Beiträge: 10
 
  | 
		
			
				 Verfasst am: 21.02.2014, 19:21    Titel: Speicher mit dem DIM-Befehl in QBasic reservieren | 
				     | 
			 
			
				
  | 
			 
			
				Hallo liebes Forum!
 
 
Habe leider schon wieder längst verdrängt, wie man Speicher mit Hilfe des DIM-Befehls reserviert. Bräuchte also einmal die Syntax vom Befehl.
 
 
Danke schon mal im Voraus
 
DJ Sayphor _________________ Achtel sind im Grunde genommen auch nur doppelt so schnell gespielte Viertel... | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Sebastian Administrator
  
  Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
  | 
		
			
				 Verfasst am: 21.02.2014, 21:16    Titel: Variablen deklarieren mit DIM | 
				     | 
			 
			
				
  | 
			 
			
				Hallo,
 
 
mit DIM deklariert man Variablen und gibt an, welchen Datentyp sie besitzen sollen.
 
 
Beispiele:
 
 	  | Code: | 	 		  'Ganzzahl:
 
Dim g As Integer
 
g = 123
 
 
'Gleitkommazahl:
 
Dim f As Double
 
f = 1.234
 
 
'String:
 
Dim s As String
 
s = "Hallo Welt"
 
 
'String fester Länge:
 
Dim fix As String * 12
 
fix = "Oberweserdampfschifffahrtgesellschaftskapitaen"
 
Print Chr$(34); fix; Chr$(34) | 	  
 
 
Viele Grüße!
 
Sebastian _________________
  
 
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		DJ Sayphor
 
 
  Anmeldungsdatum: 19.01.2014 Beiträge: 10
 
  | 
		
			
				 Verfasst am: 21.02.2014, 21:29    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				...Kann sein, dass der DIM-Befehl für was anderes da ist.
 
 
In diesem Fall müsste ich nämlich für ca. 1000 - 2000 Werte Speicher in einer Schleife reservieren (eine Variable mit der Syntax [String$(Zahl)]).
 
 
Und ich dachte, dass man da dann DIM benutzen kann.
 
 
Danke für den Hinweis   _________________ Achtel sind im Grunde genommen auch nur doppelt so schnell gespielte Viertel... | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Sebastian Administrator
  
  Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
  | 
		
			
				 Verfasst am: 21.02.2014, 21:33    Titel: Array mit DIM deklarieren | 
				     | 
			 
			
				
  | 
			 
			
				 	  | DJ Sayphor hat Folgendes geschrieben: | 	 		  | In diesem Fall müsste ich nämlich für ca. 1000 - 2000 Werte Speicher in einer Schleife reservieren (eine Variable mit der Syntax [String$(Zahl)]). | 	  
 
Du meinst ein Array. Das ist eine "Sonderform" einer Variable. Sie hat nur einen Namen, aber viele durchnummerierte "Schubladen".
 
 
 	  | Code: | 	 		  Dim Benutzer(1 To 4) As String
 
Benutzer(1) = "Max Muster"
 
Benutzer(2) = "Petra Probe"
 
Benutzer(3) = "Thilo Test"
 
Benutzer(4) = "Erik Exempel"
 
 
Dim i As Integer
 
' Array von vorne bis hinten durchlaufen:
 
For i = LBound(Benutzer) To UBound(Benutzer)
 
   Print Benutzer(i)   'i-tes Element ausgeben.
 
Next i
 
 
Sleep: End | 	 
  _________________
  
 
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		DJ Sayphor
 
 
  Anmeldungsdatum: 19.01.2014 Beiträge: 10
 
  | 
		
			
				 Verfasst am: 21.02.2014, 21:40    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Entweder bin ich zu dumm, zu müde, oder wir reden aneinander vorbei.
 
 
Ich will im Prinzip einen eigenen INPUT - Befehl zusammenbasteln und bräuchte deswegen nicht nur Platz für die standardmäßigen 10 Elemente (also nicht String$(1) bis String$(10), sondern String$(1) bis String$(1500)) _________________ Achtel sind im Grunde genommen auch nur doppelt so schnell gespielte Viertel... | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Jojo alter Rang
  
  Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
  | 
		
			
				 Verfasst am: 21.02.2014, 22:32    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Ja, wie wäre es dann mit
 
 	  | Code: | 	 		  | Dim Benutzer(1 To 1500) As String | 	  
 
statt
 
 	  | Code: | 	 		  | Dim Benutzer(1 To 4) As String | 	  
 
? _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 
  | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Sebastian Administrator
  
  Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
  | 
		
			
				 Verfasst am: 21.02.2014, 23:27    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Wie Jojo schon beschrieben hat, kannst du die Größe des Arrays (auch "Datenfeld" genannt) selbst bestimmen.
 
 
 	  | Code: | 	 		  | Dim x(1 To 3) As String | 	  
 
ergäbe ein Array mit 3 Zeichenketten-Elementen, während
 
 	  | Code: | 	 		  | Dim y(1 To 300) As String | 	  
 
gleich 300 Elemente ermöglicht. Das erste Element hat dabei den Index 1 (LBound) und das letzte Element den Index 300 (UBound). _________________
  
 
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		grindstone
 
 
  Anmeldungsdatum: 03.10.2010 Beiträge: 1283 Wohnort: Ruhrpott
  | 
		
			
				 Verfasst am: 22.02.2014, 10:13    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Hallo!
 
 
Ich glaube, ihr redet wirklich aneinander vorbei.
 
 
Was DJ Sayphor vermutlich meint, ist ein String mit n gleichen Zeichen, den er als Platzhalter verwenden möchte
 
 	  | Code: | 	 		  | STRING$(Länge%,{ASCII-Code% | Stringausdruck$}) | 	  
 
Für eine selbstgebastelte INPUT - Funktion ist es allerdings unnötig, extra Platz zu reservieren, da QBasic seine Strings und den dafür erforderlichen Speicher selbständig verwaltet.
 
 
Gruß
 
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		dreael Administrator
  
  Anmeldungsdatum: 10.09.2004 Beiträge: 2531 Wohnort: Hofen SH (Schweiz)
  | 
		
			
				 Verfasst am: 22.02.2014, 16:08    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Zum Thema Ersatz für INPUT:
 
 
http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/BildschirmMasken.html
 
 
Zur eigentlichen Frage: Ansonsten wie bereits diskutiert ein expliziter DIM vom Array. Wie bei QB üblich lediglich auf die 64 KB-Segmentierung achten, d.h. Array kann nicht beliebig gross sein (dürfte in diesem Fall für den beabsichtigten Zweck keine Probleme geben). _________________ Teste die PC-Sicherheit mit www.sec-check.net | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		 |