HIVE-Project

Retro Style Eigenbau Computer mit Parallax Propeller
Aktuelle Zeit: So 24. Mär 2019, 12:15

Alle Zeiten sind UTC [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Suchen eines Strings in einem String
BeitragVerfasst: Do 22. Nov 2018, 14:56 
Offline
Benutzeravatar

Registriert: Fr 30. Sep 2011, 13:08
Beiträge: 2500
Hallo,
bei strcomp(@Str1, @Str2) sind beide Strings gleichlang und haben die gleiche Zeichenfolge.

Ich suche aber so was:

pos := strcomp(@Str1, @Str2)

Der String @Str2 wurde an Position n in @Str1 gefunden.

gibt es da was? Ich denke da muss ich was machen.

Aus disen Teilen müsste sich was machen lassen
Code:
''PRI os_cmdinput | charc                                 'sys: stringeingabe eine zeile
''funktionsgruppe               : sys
''funktion                      : stringeingabe eine zeile
''eingabe                       : -
''ausgabe                       : -
''variablen                     : tib     - eingabepuffer zur string
''                              : tibpos  - aktuelle position im tib
  ....
  tibpos := 0                                           'tibposition auf anfang setzen <<== in INNI

  ....
  repeat until (charc := com.rxcheck) == $0D            'Serielle daten einlesen bis return <<=======
    if (tibpos + 1) < OS_TIBLEN                         'zeile noch nicht zu lang?
          tib[tibpos++] := charc                        'zeichen speichern
  tib[tibpos] := 0                                      'string abschließen

''PRI os_cmdint                                           'sys: kommandointerpreter
''funktionsgruppe               : sys
''funktion                      : kommandointerpreter; zeichenkette ab tibpos wird als kommando interpretiert
''                              : tibpos wird auf position hinter token gesetzt
''eingabe                       : -
''ausgabe                       : -
''variablen                     : tib     - eingabepuffer zur string
''                              : tibpos  - aktuelle position im tib

if tib[tibpos]
  repeat                                                'kommandostring kopieren
    cmdstr[tibpos] := tib[tibpos]                       
    tibpos++
  until (tib[tibpos] == ios#CHAR_SPACE) or (tib[tibpos] == 0) 'wiederholen bis leerzeichen oder stringende
  cmdstr[tibpos] := 0                                   'kommandostring abschließen
  tibpos := 0                                           'tastaturpuffer zurücksetzen
  tib[0] := 0

''PRI os_cmdexec(stradr)                                  'sys: kommando ausführen
{{os_smdexec - das kommando im übergebenen string wird als kommando interpretiert
  stradr: adresse einer stringvariable die ein kommando enthält}}
if     strcomp(@cmdstr,@cmd14)                           'mkdir - verzeichnis erstellen
       ....
elseif strcomp(@cmdstr,@cmd15)                           'rename - datei/verzeichnis umbenennen
       ....
elseif strcomp(@cmdstr,@cmd16)                           'format - sd-card formatieren
      ....

DAT ''------------------------------------------------- Kommandostrings
cmd14   byte  "mkdir",0
cmd15   byte  "rename",0
cmd16   byte  "format",0

_________________
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.


Nach oben
 Profil  
 
BeitragVerfasst: Do 22. Nov 2018, 18:08 
Offline
Benutzeravatar

Registriert: Fr 27. Aug 2010, 14:48
Beiträge: 1834
Wohnort: Wrong Planet
Schau Dir mal "findString(stringToSearch, stringToFind)" in [OBEX] ASCII0_STREngine_1.spin an.

Das liefert zwar die Adresse des zu findenden Strings im Gesamtstring, aber das auf Zurückgeben der Position umstricken ist simpel (z.B. Adressendifferenz zwischen Fundstelle und Gesamtstring).

_________________
I have a natural instinct for science. — D.J. Trump
OmmmMMMmmmMMMmmmPtimistisch bleiben!
Hive #14 rennt TriOS-pre-R58-20180430
Digitales Heimat-Museum
MediYETIer mal über "Vermummungsverbot und Schleierfahndung"!


Nach oben
 Profil  
 
BeitragVerfasst: Do 22. Nov 2018, 18:11 
Offline
Benutzeravatar

Registriert: So 6. Sep 2009, 11:18
Beiträge: 992
Moin moin!
Kuck an, war Yeti schneller :
Schau mal in dieser Bibliothek : http://obex.parallax.com/sites/default/ ... ine_1.spin
so mittig im Programm gibt es "PUB findString(.....)"
Die lib finde ich sehr hilfreich.
Gruß
TuxFan

PS.: Ich glaube die Addresse ist die Position des gesuchten Strings. Beginn ist glaub ich 0. Ist jetzt auch wieder ein paar tage her das ich das benutzt hab.

_________________
Fassungslos und kein Ende in Sicht:
Der Wahnsinn reitet durch das Land
genähret von manch' brauner Hand.
Die Dummheit kriecht ihm vorne drein
und drischt auf manchen Menschen ein.
Verblödung breitet sich rasch aus
das hält bald keine Seele aus.


Nach oben
 Profil  
 
BeitragVerfasst: Do 22. Nov 2018, 18:24 
Offline
Benutzeravatar

Registriert: Fr 27. Aug 2010, 14:48
Beiträge: 1834
Wohnort: Wrong Planet
TuxFan hat geschrieben:
Kuck an, war Yeti schneller
Ich hab bei ein paar erfolglosen Versuchen das "mal eben schnell" selbst zusammenzutippern feststellen müssen, daß ich irgendwie heute nicht in Strings-mit-Spin-Stimmung war, fand dann auch nicht schnell genug sowas in den TriOS-Quellen und erst dann fiel mir wieder die OBEX ein...

...nich wirklich mein Tag heute... hatte vermutlich 'ne Überdosis Real-Life...

_________________
I have a natural instinct for science. — D.J. Trump
OmmmMMMmmmMMMmmmPtimistisch bleiben!
Hive #14 rennt TriOS-pre-R58-20180430
Digitales Heimat-Museum
MediYETIer mal über "Vermummungsverbot und Schleierfahndung"!


Nach oben
 Profil  
 
BeitragVerfasst: Do 22. Nov 2018, 18:51 
Offline
Benutzeravatar

Registriert: Fr 30. Sep 2011, 13:08
Beiträge: 2500
Maaaan das Teil hab ich mir heute in der Pause angesehen.
Hier mit bestelle ich mir eine gelbe Armbinde mit 3 schwarzen Gänsen.

Für Gansblinde eben. :SCHREIEN

Danke euch beiden.

_________________
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.


Nach oben
 Profil  
 
BeitragVerfasst: Do 22. Nov 2018, 19:01 
Offline
Benutzeravatar

Registriert: Fr 27. Aug 2010, 14:48
Beiträge: 1834
Wohnort: Wrong Planet
PIC18F2550 hat geschrieben:
Für Gansblinde eben. :SCHREIEN
Sowas kann ich auch primstens.
Willkommen im Club!

_________________
I have a natural instinct for science. — D.J. Trump
OmmmMMMmmmMMMmmmPtimistisch bleiben!
Hive #14 rennt TriOS-pre-R58-20180430
Digitales Heimat-Museum
MediYETIer mal über "Vermummungsverbot und Schleierfahndung"!


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 

Alle Zeiten sind UTC [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de