Мазмуну:

VB6да программалоо: Кеңештер жана амалдар: 3 кадам
VB6да программалоо: Кеңештер жана амалдар: 3 кадам

Video: VB6да программалоо: Кеңештер жана амалдар: 3 кадам

Video: VB6да программалоо: Кеңештер жана амалдар: 3 кадам
Video: АЯЛДЫ КАНТИП КАНДЫРЫШ КЕРЕК КӨРГҮЛӨ! 2024, Ноябрь
Anonim
VB6да программалоо: Кеңештер жана амалдар
VB6да программалоо: Кеңештер жана амалдар

Мен бош убактымда программалайм жана VB6ны колдонгон абдан тажрыйбалуу программистмин. Бул оңой жана мен жасай ала турган нерсени таба элекмин, бирок кээде сиздин тапшырмаңызды аткаруу кыйын болушу мүмкүн. Жолдо мен көптөгөн тажатма нерселерди таптым, негизинен ал кээ бир нерселерди эсептейт. Ошентип, жолдо үйрөнгөн нерселеримдин жыйнагы. Мен сизди кандайдыр бир көйгөйлөр болсо комментарий жазууга чакырам жана мен дагы кадамдар менен жардам берүүгө аракет кылам.

1 -кадам: Саптар

Саптар
Саптар

VBдин саптар менен иштөө ыкмасы кээде чаташтырат.texta = "abcdefg" коюу "символдорунун эки жагына символдорду кошууну каалашат. нөлдүк башталыш саптары 1textb = mid (texta, 2, 2) менен башталат, бул textb = "bc" textb = mid (texta, 4, 4) бул textb = "defg" textb = mid (texta, 4), 5) бул textb = "defg" өзгөрмөсүн түзөт. Туура, эгер сиз тандаганга аракет кылып жаткан текст узагыраак болсо, программаңызга жараша акыркы тамгада аяктаган жеткиликтүү текст, каталарды болтурбоо үчүн тузактарды коюуга туура келет. мындай тузак: textb = mid (texta, 4, 5) if len (textb) <5 анда 'Len () саптын узундугун кайтарат <азыраак дегенди билдирет stringexit sub 'Бул сиз киргизген подстанциядан чыгат, кодду бүтүрөт. Эгерде сиз функцияда болсоңуз, анда биз string колдонуп жаткан stringтин ичиндеги символдун ордун табуу менен exit functionend коёбуз. ng1, String2) texta = "abcdefg" textb = instr (1, texta, "c") 'бул textatextb тилкесиндеги c тамгасын табат, азыр 3NOTE: Instr 0 (нөлдү) кайтарат, эгерде ал REORGANIZING белгисин таппаса. "abcdefg" "defgabc" болушун каалаган тажатма бирөө texta = "abcdefg" textb = mid (texta, 4, 4) & mid (texta, 1, 3) () функциялар, сиз көшөгө белгисиндеги сапты кайра түзүүнү каалайсыз, бирок ал бир эле жер эмес) - instr (1, texta, "c") + 1) & mid (текст, 1, instr (1, texta, "c") - 1) len (texta) - instr (1, texta, "бөлүгүн белгилөө) c ") + 1 анткени instr сиз издеп жаткан белгини эсептейт, ошондо сиз бир тамганы артка кайтарасыз, ошондо mid () сиз издеп жүргөн символду стрит текстте биринчи катары кабыл алат, азыр" cdefgab "textd = mid (textb, instr (1, textb, "c"), len (textb) - instr (1, textb, "c") + 1) & mid (textb, 1, instr (1, textb, "c") - 1) textd now equa ls "cgfabde" stringtexta = "abcdefg" textc = mid (texta, instr (1, texta, "h"), len (texta) - instr (1, texta, "h") ичинде болбогон белгини табууга аракет кылалы.) + 1) & mid (texta, 1, instr (1, texta, "h") - 1) сиз ката аласыз, анткени Mid () баштоо бөлүгү = 0 кыла албайт, анткени саптар 1ден башталат, андыктан иштөө убактысынан качышыңыз керек ката. бул ittexta = "abcdefg" кылуунун бир жолу, эгерде instr (1, texta, "h") 0 thentextc = mid (texta, instr (1, texta, "h"), len (texta) - instr (1, texta), "h") + 1) & mid (texta, 1, instr (1, texta, "h") - 1) elsems only if one another оператор if if conditionmsgbox "Cannot find character to string" ' stringend ifThis саптар жөнүндө билишиңиз керек болгон нерселердин бардыгын жалпылайт

2 -кадам: Белгилерди өзгөртүү

Каармандарды айландыруу
Каармандарды айландыруу

HEX: Ушул жуманын башында тапканымдын бири Hex (number) функциясы менен байланыштуу, бул сандагы узундуктун мааниси жок. It hexhexтеги сапты кайтарат (11111111) ascii тамгасын hexке айландырганда dotexta = "a" hex (asc (texta)) "61" текстти кайтарат анда ал бардыгын 2 белгиден болушун каалаган 1 мүнөздөмөнү гана кайтарат: textb = hex (asc (texta)) if len (textb) = 1 thentextb = "0" жана textb 'нөл эмес a эгер капитал болсо

3 -кадам: Файлды түзөтүү

Файлды түзөтүү
Файлды түзөтүү

файлды ачуу үчүн сизге бекер файл керек жана filenamegfile = FreeFile 'gfile эми кийинки жеткиликтүү freefilec = "c: / test.txt" анда fileInput ачуунун 4 жолу бар - Сиз окуй аласыз. Чыгуу - Сиз гана жаза аласыз жана ал бар болсо файлды өчүрөт. вагондун кайтып келиши жана акыркы тамгалар сызыгы ал учурдагы файлга кошулат. арабаны кайтаруу жана сапты акыркы символдор Бинардык - Окуу жана жазуу. абдан так мен азыр колдонгон жалгыз нерсе. журнал файлдарын түзүү үчүн жана мындай колдонмо тиркеме файлдын аягына жаңы жазууну кошот. татаал журналы файлдары үчүн бүт файлды өзгөрмөгө жүктөп, жаңы жазууну башына кошуу file.dim stro катары 'бул зарыл же ката болот 'бинардык файлды ачканда, тексттин канчалык чоң экенин айтуу керек lof (gfile) gfile узундугун кайтарат жана $ () сиз киргизген саннын узундугундагы боштуктарды кайтарат #gfile, 1, stro 'файл номеринен баштап, байтты баштап, аны сактоо үчүн өзгөрмөлүү. жана variableclose #gfilestro гана узундугун жүктөйт test.txt.you файлга маалымат коюуга болот byffile = FreeFilestro = "New line" & VbCrLf & stro '"New line" жана carraige return and linefeed кошумчалайт андан кийин бинардык үчүн тексттин ачык с c #ffilekill cput #ffile, 1, stro 'put мурунку маалыматты кайра жазат, эгерде файл кичине болуп баратса, файлды биринчи өлтүрүп салыңыз, аны жабыңыз Мен put функциясы менен таптым, эгер сиз #ffile, 133, chr (1) сыяктуу символдорду коюуга аракет кылсаңыз, анда каталар бар 'Бул 133 байтындагы белгини 1 же hex 0x01 менен алмаштырганда, мен муну бир программа менен таптым. ал чындыгында укмуштуудай шексиз 0x08000100000001 кошту. Мен муну файлды өзгөрмөгө жүктөө жана string modsi = 133stro = mid (stro, 1, i - 1) & chr (1) & mid (stro, i + 1, len (stro) - i) кылып чечтим. #ffile, 1, стротис эң сонун иштеген

Сунушталууда: