VBScript String Len

Sekcia o programovaní, programovacích jazykoch...
Používateľov profilový obrázok
Optheron
Nový používateľ
Nový používateľ
Príspevky: 125
Dátum registrácie: Ne 15. Apr, 2007, 08:00

VBScript String Len

Príspevok od používateľa Optheron »

Zdravim, potrebujem pomoct s jednym retazcom. V programe Solidworks mam moznost automatickeho vyplnovania nazvu a cisla vykresu cez "vzorec" dopravoval som sa k par retazcom ale potreboval by som ich upravit

nazov suboru je: (XXXXX500-300-01-01-01-005 Kockaty valec.SLDPRT)

"C.vykresu"= part.Extension.CustomPropertyManager("").Set("C.vykresu", Left(part.GetTitle, 25))
Pocet znakov v Cisle vykresu sa moze menit a tento retazec napise prvych 25 znakov potreboval by som prerobit aby som stale pisalo po prvu medzeru popripade zacnem pouzivat podtrznik ak to pomoze (XXXXX500-300-01-01-01-005_Kockaty_valec.SLDPRT) tak po prvy podtrznik

druha cast
"Nazov"= part.Extension.CustomPropertyManager("").Set("Nazov", Mid(part. GetTitle, 27))
Nazov suboru mal by vypisat zvysok 27 znak a dalej (Kockaty valec.SLDPRT) s tym ze zase chcem aby pisale zase opacnu cast zase od prvej medzery resp od prveho podtrznika ale s vynimkou aby odstranilo koncovku ktora je stabilne 7 znakov

uff dufam ze som to vysvetlil dostatocne a ze mi bude niekto vediet s tymto pomoct
vopred dakujem dobrej dusi co sa na to kukne
Používateľov profilový obrázok
numlock
Používateľ
Používateľ
Príspevky: 656
Dátum registrácie: Pi 20. Jan, 2006, 02:00
Bydlisko: nemám

Re: VBScript String Len

Príspevok od používateľa numlock »

Neskusal si "InStr" na vyhladanie pozicie medzery (" ") ? Z toho by si mohol potom zistit pocet znakov na lavo aj na pravo od nej..
i7 4790K @ 4.6GHz
ASUS Z97-A
GB HD6870
Crucial 8GB 1600MHz CL8
23´LCD Full-HD , Corsair HX650W , SSD 60GB + Hdd 2TB
Používateľov profilový obrázok
Optheron
Nový používateľ
Nový používateľ
Príspevky: 125
Dátum registrácie: Ne 15. Apr, 2007, 08:00

Re: VBScript String Len

Príspevok od používateľa Optheron »

numlock napísal:Neskusal si "InStr" na vyhladanie pozicie medzery (" ") ? Z toho by si mohol potom zistit pocet znakov na lavo aj na pravo od nej..
nie neskusal, ten retazec som nasiel na jednom fore, je to pre mna spanielska dedina, netusim co a ako len som sa snazil upravit to co som nasiel

"Nazov"= part.Extension.CustomPropertyManager("").Set("Nazov",mid(part.gettitle,10,len(part.gettitle)-16))

takouto cestou by to neslo?
Pre mna najlepsie by bolo oddelit zlava po medzeru resp po podtrznik do jedneho policka
druhu polovicu od podtrznika z hociktorej strany do druheho policka s tym ze odreze koncovku tych 7 poslednych znakov
resp je este moznost kedze tie prikazy sa daju zadavat len jednoriadkove a nebude sa to dat napisat spolu tak to rozdelit aby koncovku odtrhlo az v dalsom riadku pouzijem nejaku iny nazov retazca
Používateľov profilový obrázok
Optheron
Nový používateľ
Nový používateľ
Príspevky: 125
Dátum registrácie: Ne 15. Apr, 2007, 08:00

Re: VBScript String Len

Príspevok od používateľa Optheron »

No cosi som vymyslel :laugh: btw: numlock vdaka za tip http://zenit.hyperphp.com/index.php?m=vb
dufam ze je to dobre resp aspon na dobrej ceste, akurat ten nazov este skusam skratit a som rad ze to funguje aj na medzery

"C.vykresu"= part.Extension.CustomPropertyManager("").Set("C.vykresu", Left(part.GetTitle, Instr (part.GetTitle, " ")-1))

"Nazov"= part.Extension.CustomPropertyManager("").Set("Nazov", Mid (part.GetTitle, InStr (part.GetTitle, " ")+1))

kdesi som nasiel este toto len (part.gettitle)-10) ale to odpocitava iba pocet znakov potrebujem uz len odpalit koncovku
Používateľov profilový obrázok
numlock
Používateľ
Používateľ
Príspevky: 656
Dátum registrácie: Pi 20. Jan, 2006, 02:00
Bydlisko: nemám

Re: VBScript String Len

Príspevok od používateľa numlock »

Nechcem ta popliest, ale da sa to spravit takto: (ajked neviem, ako to napasujes do toho riadku)


a = "nazov suboru.SLDPRT"
' nazov suboru s medzerou a koncovkou
b = Mid (a, 1, InStr(a, " "))
' vrati lavu cast od medzery, start.pozicia, pocet znakov az po medzeru
c = Mid (a, InStr(a, " ")+1, Len(a)-InStr(a, " ") - 7)
' vrati pravu cast od medzery, start.pozicia (+1 znamena okrem medzery), pocet znakov(okrem poslednych 7)



Malo by vyjst:

a= "nazov suboru.SLDPRT"
b= "nazov"
c= "suboru"
i7 4790K @ 4.6GHz
ASUS Z97-A
GB HD6870
Crucial 8GB 1600MHz CL8
23´LCD Full-HD , Corsair HX650W , SSD 60GB + Hdd 2TB
Používateľov profilový obrázok
Optheron
Nový používateľ
Nový používateľ
Príspevky: 125
Dátum registrácie: Ne 15. Apr, 2007, 08:00

Re: VBScript String Len

Príspevok od používateľa Optheron »

numlock super vdaka :cool:

funguje to
"Nazov"= part.Extension.CustomPropertyManager("").Set("Nazov", Mid (part.GetTitle, InStr (part.GetTitle, " ")+1, Len (part.GetTitle)- InStr(part.GetTitle, " ")-7))

este raz dakujem za pomoc
Používateľov profilový obrázok
numlock
Používateľ
Používateľ
Príspevky: 656
Dátum registrácie: Pi 20. Jan, 2006, 02:00
Bydlisko: nemám

Re: VBScript String Len

Príspevok od používateľa numlock »

:good:
i7 4790K @ 4.6GHz
ASUS Z97-A
GB HD6870
Crucial 8GB 1600MHz CL8
23´LCD Full-HD , Corsair HX650W , SSD 60GB + Hdd 2TB
Používateľov profilový obrázok
Optheron
Nový používateľ
Nový používateľ
Príspevky: 125
Dátum registrácie: Ne 15. Apr, 2007, 08:00

Re: VBScript String Len

Príspevok od používateľa Optheron »

zdravim, potrebujem este poradit s textom

nadefinovane konstanty
"Priemer" = 10
"Dlzka" = 500

a chcem dosiahnut zobrazenie

ø10x500

aky prikaz mam pouzit ked sa to sprava ze chce zobrazovat iba cislo nie text
dakujem
Používateľov profilový obrázok
numlock
Používateľ
Používateľ
Príspevky: 656
Dátum registrácie: Pi 20. Jan, 2006, 02:00
Bydlisko: nemám

Re: VBScript String Len

Príspevok od používateľa numlock »

Asi nerozumiem.
Ak chces zobrazit cislo ako text, pouzi "CStr(cislo)" To konvertuje cislo na string.
i7 4790K @ 4.6GHz
ASUS Z97-A
GB HD6870
Crucial 8GB 1600MHz CL8
23´LCD Full-HD , Corsair HX650W , SSD 60GB + Hdd 2TB
Používateľov profilový obrázok
Optheron
Nový používateľ
Nový používateľ
Príspevky: 125
Dátum registrácie: Ne 15. Apr, 2007, 08:00

Re: VBScript String Len

Príspevok od používateľa Optheron »

mam kolonky kde su zadane hodnoty

Priemer a to vyjadruje cez kotu cislo 10
parameter Priemer=10

a teraz chcem spravit vzorec do ktoreho vlozim parametre kedze cisla sa menia

zobraz Hodnotu Priemer a vysledok bude 10 s tym ze pred to potrebujem dat este napriklad TR
takze vysledok by som potreboval TR 10

Návrat na "Programovanie"