Gjoreski 14.05.2015 19:28
Predmet:Podelba na string

Imam stringovi koi mi dooagaat co paket na seiski port (RS232) site se so razlicna struktura a mene mi trebaat samo nekoi oci od niv.
Eve eden del od tie stringovi:

+CRLP: 61,61,78,6
+CR: 0
+FCLASS: 0
+CRC: 0
+CMGF: 0
+CNMI: 0,0,0,0,1
+ILRR: 0
+IPR: 0
+CMEE: 0
^SMGO: 0,1
+CSMS: 0,1,1,1
^SACM: 0,"000000","000000"
+GCAP: +CGSM,+FCLA


Zaednicko za site ovie stringovi e sto site pocnuvaat so ^ ili + ,a mene mi treba da go izdvojam prviot del koj pocnuva so nekoj od ovie znaci a sekogas zavrsuva so : (Dve tocki)
- Ova so prviov del i ne e taka bitno toa mozam da go sredam no pobitno mi e kako da gi izdvojam podatocite sto se posle dvete tocki do krajot a site se podeleni so zapirka (,)

Moze nekoj predlog?

zxz 14.05.2015 21:36
Predmet:Re: Podelba na string

Kako sam te razumio tebi trebaju samo redovi podataka koji pocinju sa ^ ili +
a imaju na (dvije tacke)
Volio bih vidjeti i druge podatke koji tu izlaze ako ih ima.
Neki koji nemaju na pocetku znak ^ili +.
Treba dobro vidjeti dali se jos negdje pojavljuje (dvotacka) :

Gjoreski 14.05.2015 22:02
Predmet:Re: Podelba na string

ova se mnogu podatoci ne e vozmozno da gi dobijam site bidejki ima razni verzii na hardverot mene ke mi trebat samo nekoi.
potocno sega vo momentov mi se potrebni podatocite posle dvete tocki do krajot na stringot.
ova bi bilo dobro da se sostoi od dve funkcii od koi prvata ke odredi kolku podatoci ima stringot a vo vtorata funkcija ke gI iscitame podatocite sto ni trebaat.

zxz 14.05.2015 22:29
Predmet:Re: Podelba na string

Evo ti primjer pa tio prepravi sta treba:
PreuzmiIzvorni kôd (Visual Basic):
  1. Sub main()
  2. Dim RedPod As String
  3. Dim BrojVar As Integer
  4. Dim ArrPodaci
  5. Dim Arr() As String
  6. Dim I As Integer
  7.  
  8. RedPod = "+CRLP: 61,61,78,6"
  9. Vrati_Podatak RedPod, BrojVar, ArrPodaci
  10. Arr = Split(ArrPodaci, ",")
  11. For I = 0 To BrojVar
  12. MsgBox Arr(I)
  13. Next I
  14. End Sub
  15.  
  16. Sub Vrati_Podatak(UlazniPodatak As String, Optional BrojVar As Integer = 0, Optional ArrPodaci)
  17. Dim Poz As Integer, Duzina As Integer, I As Integer
  18. Dim PrviDio As String, DrugiDio As String, Skupa As String
  19. Dim Znak As String
  20. If Left(UlazniPodatak, 1) = "^" Or Left(UlazniPodatak, 1) <> "+" Then GoTo Kraj
  21. Poz = InStr(1, UlazniPodatak, ":", vbBinaryCompare)
  22. If Poz = 0 Then GoTo Kraj
  23. PrviDio = Mid(UlazniPodatak, 2, Poz - 2)
  24. DrugiDio = Mid(UlazniPodatak, Poz + 1)
  25. Skupa = PrviDio & "," & DrugiDio
  26. Duzina = Len(UlazniPodatak) - 1
  27. BrojVar = 0
  28.     For I = 1 To Duzina
  29.     Znak = Mid(Skupa, I, 1)
  30.         If Znak = "," Then
  31.         BrojVar = BrojVar + 1
  32.         End If
  33.     Next I
  34. ArrPodaci = Skupa
  35. Izlaz:
  36. Exit Sub
  37. Kraj:
  38. ArrPodaci = ""
  39. BrojVar = 0
  40. GoTo Izlaz
  41. End Sub

Gjoreski 14.05.2015 23:32
Predmet:Re: Podelba na string

Sabajle ke probam. Fala

Gjoreski 15.05.2015 10:02
Predmet:Re: Podelba na string

Mislam ova deka ke zavrsi rabota.
Fala uste ednas