| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen   | 
	
	
	
		| Autor | 
		Nachricht | 
	
	
		Feenfleisch
 
 
  Anmeldungsdatum: 11.08.2005 Beiträge: 15
 
  | 
		
			
				 Verfasst am: 26.08.2005, 20:05    Titel: dateigröße und stringgröße | 
				     | 
			 
			
				
  | 
			 
			
				hallo,
 
 
ich möchte eine datei mit get auslesen. problem dabei: ich muss davor eine string variable mir einer bestimmten größe angeben. nun soll der string genau so gross sein, wie die verflickte datei. leider klappt  dim a as string *lof (1) nicht. gibt es andere möglichkeit? danke für jede idee.
 
 
grüsse, erich | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		jb
 
  
  Anmeldungsdatum: 14.01.2005 Beiträge: 2010
 
  | 
		
			
				 Verfasst am: 26.08.2005, 20:18    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Mach es doch so:
 
 	  | Code: | 	 		  
 
' Der Pfadname
 
datei$ = "c:\test.dat"
 
 
' Dateilänge ermitteln
 
f = freefile
 
open datei$ for binary as #f: length& = lof(f): close #f
 
 
' in BI-Datei schreiben
 
f = freefile
 
open "tmp.bi" for output as #f
 
print #f, "dim inhalt as string * " + str$(length&)
 
close #f
 
 
' und mit include wieder laden
 
$include 'tmp.bi'
 
 
' und löschen
 
kill "tmp.bi"
 
 
' und ursprüngliche Datei wieder laden
 
f = freefile
 
open datei$ for binary as #f
 
get #f, , inhalt
 
close #f
 
 | 	  
 
 
Das sollte eigentlich klappen. Der Trick ist, das die Variable erst während der Laufzeit durch eine externe 
 
BI-Datei definiert wird. 
 
 
Das sollte klappen, hab's aber nicht getestet.
 
 
jb | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Paul aka ICC, HV-Freak
 
  Anmeldungsdatum: 11.09.2004 Beiträge: 588 Wohnort: Uelzen
  | 
		
			
				 Verfasst am: 26.08.2005, 20:24    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Wird nicht funktionieren, $include ist ein Präprozessor-Befehl, der zur Laufzeit garnicht mehr existiert.
 
 
wozu muss der string eigentlich unbedingt mit DIM deklariert werden?   _________________
   | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		volta
 
 
  Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
  | 
		
			
				 Verfasst am: 26.08.2005, 20:28    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				versuch mal
 
 	  | Code: | 	 		  Dim As Integer ff, flen
 
 
ff = FreeFile
 
Open "c:/command.com" For Binary As #ff 'Hier den eigenen Dateiname einsetzen
 
flen = lof(ff)             'Länge der Datei ermitteln
 
Dim membuff As String
 
membuff = Space(flen)      'Speicherbereich anlegen
 
Get #ff, , membuff         'die ganze Datei in den Arbeitsspeicher laden
 
Close #ff
 
Print membuff
 
Print "verdisch..."
 
sleep | 	  
 
Gruß
 
Volta _________________ Warnung an Choleriker: 
 
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
 
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
  Zuletzt bearbeitet von volta am 26.08.2005, 20:32, insgesamt einmal bearbeitet | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		jb
 
  
  Anmeldungsdatum: 14.01.2005 Beiträge: 2010
 
  | 
		
			
				 Verfasst am: 26.08.2005, 20:30    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Dann halt so:
 
 	  | Code: | 	 		  
 
' Der Pfadname 
 
datei$ = "c:\test.dat" 
 
 
' Dateilänge ermitteln 
 
f = freefile 
 
open datei$ for binary as #f: length& = lof(f): close #f 
 
 
' in BAS-Datei schreiben 
 
f = freefile 
 
open "tmp.bas" for output as #f 
 
print #f, "datei$ = " + datei$
 
print #f, "dim inhalt as string * " + str$(length&)
 
print #f, "f = freefile"
 
print #f, "open datei$ for binary as #f"
 
print #f, "get #f, , inhalt"
 
print #f, "close #f"
 
[...] 
 
close #f 
 
 
' und dann starten
 
chain "tmp.bas" 
 
 | 	  
 
 
Dann muss man noch das [...] durch seinen eigenen Code ersetzen, der noch folgen soll.
 
 
jb | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Feenfleisch
 
 
  Anmeldungsdatum: 11.08.2005 Beiträge: 15
 
  | 
		
			
				 Verfasst am: 26.08.2005, 20:30    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				| weil ich mit get nur so viele zeichen lesen kann, wie der string gross ist. | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Feenfleisch
 
 
  Anmeldungsdatum: 11.08.2005 Beiträge: 15
 
  | 
		
			
				 Verfasst am: 26.08.2005, 20:45    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				ich hab mir gerade etwas selber ausgedacht:
 
 
open datei$ for binary as #1
 
platzhalter=lof(1)
 
dateiinhalt = space(platzhalter)
 
get #1,,dateiinhalt
 
close #1 | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		jb
 
  
  Anmeldungsdatum: 14.01.2005 Beiträge: 2010
 
  | 
		
			
				 Verfasst am: 26.08.2005, 20:47    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Aber das hat volta doch schon vorgeschlagen  
 
 
jb | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		volta
 
 
  Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
  | 
		
			
				 Verfasst am: 26.08.2005, 20:55    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				nicht ganz so @jb,
 
in meinem Vorschlag war "dateiinhalt" ein String    _________________ Warnung an Choleriker: 
 
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
 
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		jb
 
  
  Anmeldungsdatum: 14.01.2005 Beiträge: 2010
 
  | 
		
			
				 Verfasst am: 26.08.2005, 20:59    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Aber wie kann man denn einem Zahlentyp space() zuordnen?!
 
 
jb | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		volta
 
 
  Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
  | 
		
			
				 Verfasst am: 26.08.2005, 21:02    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				nee, geht nicht
 
 
ich sag ja
 
 	  | Zitat: | 	 		  in meinem Vorschlag war "dateiinhalt" ein String      | 	 
  _________________ Warnung an Choleriker: 
 
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
 
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		jb
 
  
  Anmeldungsdatum: 14.01.2005 Beiträge: 2010
 
  | 
		
			
				 Verfasst am: 26.08.2005, 21:05    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Dann dürfte sein Code aber nicht funktionieren, oder ?  
 
 
jb | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		volta
 
 
  Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
  | 
		
			
				 Verfasst am: 26.08.2005, 21:09    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				nur wenn er vorher "dateiinhalt" als String dimensioniert hat. _________________ Warnung an Choleriker: 
 
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
 
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Feenfleisch
 
 
  Anmeldungsdatum: 11.08.2005 Beiträge: 15
 
  | 
		
			
				 Verfasst am: 26.08.2005, 21:13    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				dateiinhalt ist string, eben so dateiname.
 
es klappt auch, danke für eure hilfe.   | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		jb
 
  
  Anmeldungsdatum: 14.01.2005 Beiträge: 2010
 
  | 
		
			
				 Verfasst am: 26.08.2005, 21:21    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				@volta: Ach so, dann ist ja gut  
 
 
@Feenfleisch: Freut mich, dass es jetzt klappt  
 
 
jb | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		 |