  | 
					
						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 | 
	 
	
		SvenStueck
 
 
  Anmeldungsdatum: 12.05.2005 Beiträge: 58
 
  | 
		
			
				 Verfasst am: 22.01.2007, 22:23    Titel: Text stückeln/in einzelne Werte aufteilen | 
				     | 
			 
			
				
  | 
			 
			
				Moin!
 
 
Habe folgenden Text:
 
 
 11 (23) ARAFURA RESOURCES 0,460 +4,55 %  39   
 
 12 (9) VEDRON GOLD INC. 0,320 +14,29 %  38   
 
 13 (29) MICRON ENVIRO SYS 0,049 -2,00 %  37   
 
 14 (14) MAXIMUS VEN. 0,260 +20,93 %  33   
 
 15 NEU! SANGUI BIOTECH IN 0,170 +12,58 %  31   
 
 16 NEU! CENTREX INC. REGI 0,0014 +7,69 %  28   
 
 17 (21) ORIENTAL MINERALS 0,97 +1,04 %  27   
 
 18 (22) IFEX INNOVAT.FIN. 0,099 +4,21 %  25   
 
 
Ist eine Rangliste, die aus einer Datei gelesen wird.
 
Die einzelnen Werte:
 
1. Aktuelle Platzierung
 
2. Platz vom Vortag
 
3. Aktienname
 
4. Kurs
 
5. Veränderung in Prozent
 
6. ist unwichtig!
 
 
Tüftele jetzt schon ewig rum, wie man die einzelnen Werte mit so
 
wenig Code, wie möglich in Variablen speichern kann    
 
 
Bin ja der Meinung, dass es bei FB in Sachen String-Verarbeitung echt mau
 
in der Befehlsauswahl ausschaut    
 
 
Habts ihr ne Ahnung, wie man des am besten lösen könnte? | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		ytwinky
 
  
  Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
  | 
		
			
				 Verfasst am: 23.01.2007, 00:56    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Selber Moin  , 	  | SvenStueck hat Folgendes geschrieben: | 	 		  Tüftele jetzt schon ewig rum, wie man die einzelnen Werte mit so
 
wenig Code, wie möglich in Variablen speichern kann mit dem Kopf durch die Mauer wollen | 	  Es ist löblich, 'mit so wenig Code, wie möglich' ein Ziel zu erreichen, aber es gibt dabei einiges zu berücksichtigen:
 
(Nein, nicht jedesmal ein Pflichtenheft erstellen  
 
-Erstma muß das Programm laufen
 
-Dann sollte es optimiert werden
 
-Und zuletzt nuß es dokumentiert werden..
 
Im englischen Forum gibt es eine Lib mit zusätzlichen FB-String-Funktionen
 
(da ist auch eine Split- und eine Join-Funktion drin)
 
Bei deiner Datenstruktur hilft das wenig, auf den ersten Blick sage ich mal,
 
daß du bei Chr(32) trennen kannst, außer beim Aktiennamen, aber da danach der Kurs kommt, kannst du ja bis zum ',' lesen, bis zum nächsten Leerzeichen zurückgehen und so weiter..
 
..nur mal sone Idee, von 'am besten' weit entfernt oder?
 
btw:
 
Auch ein 100-m-Weltrekordler fängt 'langsam' an..
 
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 | 
		 | 
	 
	
		  | 
	 
	
		SvenStueck
 
 
  Anmeldungsdatum: 12.05.2005 Beiträge: 58
 
  | 
		
			
				 Verfasst am: 23.01.2007, 15:02    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Also bis jetzt hab ich immerhin folgendes:
 
 
 	  | Code: | 	 		  
 
DIM tmp(10) AS STRING
 
 
OPEN "test.txt" FOR INPUT AS #1
 
'DO
 
    LINE INPUT #1, i$
 
    i$= TRIM(i$," ")
 
    PRINT i$
 
    
 
    t=0:z=0
 
    DO
 
        t+=1:z+=1
 
        a=INSTR(t,i$," ")
 
        tmp(z)=TRIM(MID$(i$,t,a-t),ANY " ()%")
 
        MID$(tmp(z),INSTR(tmp(z),","),1)="."
 
        PRINT tmp(z),val(tmp(z)),STR(tmp(z))
 
        t=a
 
    LOOP UNTIL a=0 
 
    
 
'LOOP UNTIL EOF(1)
 
CLOSE #1
 
SLEEP
 
END
 
 | 	  
 
 
Aber das ist ja auch schon ein ewiger Flickenteppich   | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		dreael Administrator
  
  Anmeldungsdatum: 10.09.2004 Beiträge: 2531 Wohnort: Hofen SH (Schweiz)
  | 
		 | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		ytwinky
 
  
  Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
  | 
		
			
				 Verfasst am: 23.01.2007, 15:45    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Hi,
 
so geht es auf alle Fälle.. 	  | Code: | 	 		  Option Explicit 'immer wieder git und wichtig, ist in 0.17 Standard..
 
   '+------------------------------------------------------------------------------------------+
 
   '|   Header: Bestimmen der Übergabeparameter'                                               |
 
   '|           AnzeigeCheck:|Il1 sind Alt-0124, Großes i, kleines L, Eins „ä”ö?üáߎę֚Üñ±¸©ø°|
 
  Const Author="Trennen.Bas v016bSE ©2007 by ytwinky, MD"'                                    |
 
   '|           (Tastenkombination: keine)                                                     |
 
   '|                                                                                          |
 
   '|   Zweck : Schablone für neue Dateien                                                     |
 
   '+------------------------------------------------------------------------------------------+
 
Dim As String s, AktPlatz, PlatzVor, AktName, Kurs, Prozent, unwichtig
 
Dim As Long i, j, k
 
For k=1 To 8
 
  Cls
 
  Read s
 
  i=Instr(s, " ")
 
  AktPlatz=Left(s, i-1)
 
  ?"1. Aktuelle Platzierung:" &AktPlatz
 
  j=Instr(i+1, s, " ")
 
  PlatzVor=Mid(s, i+1, j-i)
 
  ?"2. Platz vom Vortag:" &PlatzVor
 
  j+=1
 
  i=Instr(j+1, s, ",")
 
  Do
 
    If s[i]<>32 Then i-=1
 
  Loop Until s[i]=32
 
  AktName=Mid(s, j, i-j+1)
 
  ?"3. Aktienname:" &AktName
 
  i+=1
 
  j=Instr(i+1, s, " ")
 
  Kurs=Mid(s, i+1, j-i)
 
  ?"4. Kurs:" &Kurs
 
  j+=1
 
  i=Instr(j+1, s, "%")+1
 
  Prozent=Mid(s, j, i-j)
 
  ?"5. Veränderung in Prozent:" &Prozent
 
'  unwichtig=Mid(s, Instr(s, "%")+2)
 
'  ?"6. ist unwichtig!:" &unwichtig
 
  ?*IIf(k=8, @"Eniki..", @"Weiter..");
 
  Sleep
 
Next
 
Data "11 (23) ARAFURA RESOURCES 0,460 +4,55 % 39"
 
Data "12 (9) VEDRON GOLD INC. 0,320 +14,29 % 38" 
 
Data "13 (29) MICRON ENVIRO SYS 0,049 -2,00 % 37" 
 
Data "14 (14) MAXIMUS VEN. 0,260 +20,93 % 33" 
 
Data "15 NEU! SANGUI BIOTECH IN 0,170 +12,58 % 31" 
 
Data "16 NEU! CENTREX INC. REGI 0,0014 +7,69 % 28" 
 
Data "17 (21) ORIENTAL MINERALS 0,97 +1,04 % 27" 
 
Data "18 (22) IFEX INNOVAT.FIN. 0,099 +4,21 % 25" | 	  ..das mit der Datei kannste ja selber reinbasteln..
 
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 | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
	 
	    
	   | 
	
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.
  | 
   
 
     |