ዝርዝር ሁኔታ:

በ VB6 ውስጥ መርሃ ግብር - ጠቃሚ ምክሮች እና ዘዴዎች -3 ደረጃዎች
በ VB6 ውስጥ መርሃ ግብር - ጠቃሚ ምክሮች እና ዘዴዎች -3 ደረጃዎች

ቪዲዮ: በ VB6 ውስጥ መርሃ ግብር - ጠቃሚ ምክሮች እና ዘዴዎች -3 ደረጃዎች

ቪዲዮ: በ VB6 ውስጥ መርሃ ግብር - ጠቃሚ ምክሮች እና ዘዴዎች -3 ደረጃዎች
ቪዲዮ: Лайфхаки для ремонта квартиры. Полезные советы.#2 2024, ሀምሌ
Anonim
በ VB6 ውስጥ መርሃ ግብር - ጠቃሚ ምክሮች እና ዘዴዎች
በ VB6 ውስጥ መርሃ ግብር - ጠቃሚ ምክሮች እና ዘዴዎች

በትርፍ ጊዜዬ ፕሮግራም አደርጋለሁ ፣ እና ቪቢ 6 ን በመጠቀም በቂ ብቃት ያለው የፕሮግራም ባለሙያ ነኝ። እሱ ቀላል እና የማይችለውን ለማሳካት የምፈልገውን ማንኛውንም ነገር ገና አላገኘሁም ፣ ምንም እንኳን አንዳንድ ጊዜ ሥራዎን ለመፈጸም ጥሩ ቢሆኑም። በመንገድ ላይ ብዙ የሚያበሳጩ ነገሮችን አገኘሁ ፣ በተለይም የተወሰኑ ነገሮችን በሚቆጥርበት መንገድ። ስለዚህ በመንገድ ላይ የተማርኳቸው አንዳንድ ነገሮች ስብስብ እዚህ አለ። ማንኛውም ችግር ካለዎት አስተያየት እንዲሰጡዎት እመክርዎታለሁ እና ተጨማሪ እርምጃዎችን ለመርዳት እሞክራለሁ።

ደረጃ 1: ሕብረቁምፊዎች

ሕብረቁምፊዎች
ሕብረቁምፊዎች

VB ከህብረቁምፊዎች ጋር የሚገናኝበት መንገድ አንዳንድ ጊዜ ግራ የሚያጋባ ነው። ዜሮ ጅምር ሕብረቁምፊዎች በ 1textb = አጋማሽ (ቴክታ ፣ 2 ፣ 2) ይጀምራሉ ይህ ተለዋዋጭ textb = "bc" textb = mid (texta, 4, 4) ይህ ተለዋዋጭ textb = "defg" textb = mid (texta, 4) ያደርገዋል ፣ 5) ይህ ተለዋዋጭ textb = “defg” ን ያደርገዋል ትክክል ነው እርስዎ ለመምረጥ እየሞከሩ ያሉት ጽሑፍ ረዘም ያለ ከሆነ በፕሮግራሙዎ ላይ የሚወሰን ሆኖ በመጨረሻው ቁምፊ ላይ የሚጠናቀቀው የሚገኝ ጽሑፍ ስህተቶችን ለማስወገድ ወጥመዶችን ማስቀመጥ ይኖርብዎታል። ይህ እንደዚህ ዓይነት ወጥመድ ነው - textb = mid (texta, 4, 5) ሌን (textb) <5 ከሆነ ‹ሌን () የአንድ ሕብረቁምፊ ርዝመት ይመልሳል <ያ ማለት ያነሰ‹ ‹semsgbox› የሚለው ጽሑፍ በጣም አጭር ነው ›› የመልእክት ሳጥን ያሳያል የ stringexit ንዑስ ‹ይህ እርስዎ ካሉበት ንዑስ ክፍል ይወጣል። ኮዱን ያበቃል። በአንድ ተግባር ውስጥ ከሆኑ በባህሪያት አጠቃቀም instr ውስጥ የቁምፊ ቦታን ካገኙ የመውጫ ተግባርን ያስቀምጡታል (ጀምር ፣ ስትሪ ng1, String2) texta = "abcdefg" textb = instr (1, texta, "c") '' ይህ ፊደል ሐን በ stringatextb አሁን ያገኘዋል 3 ማስታወሻ: Instr ገጸ -ባህሪውን ካላገኘ 0 (ዜሮ) ይመልሳል REORGANIZING: this is የሚያበሳጭ አንድ ነገር “abcdefg” “defgabc” texta = “abcdefg” textb = mid (texta, 4, 4) እና mid (texta, 1, 3) ያ በጣም መጥፎ አልነበረም ነገር ግን አሁን በ instr ውስጥ ማከል ይችላሉ። () ተግባራት በመጋረጃ ገጸ -ባህሪ ላይ ሕብረቁምፊን እንደገና ማደራጀት ይፈልጋሉ ፣ ግን ተመሳሳይ ቦታ አይደለም everytimetexta = "abcdefg" textb = "gfabdec" textc = mid (texta, instr (1, texta, "c"), len (texta) - instr (1 ፣ texta ፣ “c”) + 1) እና አጋማሽ (ቴክስታ ፣ 1 ፣ instr (1 ፣ texta ፣ “c”) - 1) ክፍል ሌን (ቴክስታ) - instr (1 ፣ texta ፣”) ሐ”) +1 ምክንያቱም instr እርስዎ የሚፈልጉትን ገጸ -ባህሪ ስለሚቆጥር አንድ ገጸ -ባህሪን ወደ ኋላ እንዲመልሱ ፣ ስለዚህ መሃል () እርስዎ የሚፈልጉትን ቁምፊ በ stringtextc ውስጥ አሁን እንደ“cdefgab”textd = mid (textb ፣ instr (1 ፣ textb ፣ “c”) ፣ len (textb) - instr (1 ፣ textb ፣ “c”) + 1) እና አጋማሽ (textb ፣ 1 ፣ instr (1 ፣ textb ፣ “c”) - 1) textd አሁን እኩል ls "cgfabde" በ stringtexta = "abcdefg" textc = mid (texta, instr (1, texta, "h"), len (texta) - instr (1, texta, "h") የሌለውን ገጸ -ባህሪ ለማግኘት ይሞክራል።) +1) እና አጋማሽ (ቴክስታ ፣ 1 ፣ instr (1 ፣ texta ፣ “h”) - 1) ስህተት አጋጥሞዎታል ምክንያቱም የመካከለኛው () የመጀመሪያ ክፍል = 0 አይችልም ምክንያቱም ሕብረቁምፊዎች በ 1 ስለሚጀምሩ የአሂድ ጊዜውን ማስወገድ አለብዎት ስህተት። instr (1, texta, "h") 0 thentextc = mid (texta, instr (1, texta, "h"), len (texta) - instr (1, texta) ከሆነ ittexta = "abcdefg" ፣ “ሸ”) + 1) እና አጋማሽ (ቴክስታ ፣ 1 ፣ instr (1 ፣ texta ፣ “h”) - 1) ሌላ ሁኔታ ብቻ ከሆነ “ችግር በገጽ ውስጥ ቁምፊ ማግኘት ካልቻለ” በአንድ የመልእክት ሳጥን ያሳያል ስለ ሕብረቁምፊዎች ማወቅ ያለብዎትን ነገር ሁሉ ያጠቃልላል

ደረጃ 2 - ገጸ -ባህሪያትን መለወጥ

ገጸ -ባህሪያትን መለወጥ
ገጸ -ባህሪያትን መለወጥ

HEX: በዚህ ሳምንት መጀመሪያ ያገኘሁት ከሄክስ (ቁጥር) ተግባር ጋር የሚዛመደው በቁጥሩ ላይ ያለው ርዝመት ምንም አይደለም። በሄክሄክስ (11111111) ውስጥ ሕብረቁምፊን ይመልሳል (11111111) የአሲሲን ገጸ -ባህሪ ወደ ሄክስ ሲቀይር እርስዎ ዶቴክስታ ያደርጉታል። = "a" hex (asc (texta)) "61" texta = "k" hex (asc (texta)) ይመልሳል "6 ለ" ሕብረቁምፊው ለአብዛኛዎቹ የ ASCI ቁምፊዎች ካልሆኑት በ 16 እሴት በታች ናቸው ከዚያ ሁሉም ገጸ -ባህሪያትን 2 ቁምፊዎች እንዲሆኑ ከፈለጉ 1 ቁምፊዎችን ብቻ ይመልሳል እርስዎ እንደሚከተለው ያደርጉታል- textb = hex (asc (texta)) ሌን (textb) = 1 thentextb = "0" እና textb 'ይህ ዜሮ አይደለም ካፒታል ከሆነ

ደረጃ 3 ፋይል ማረም

ፋይል ማረም
ፋይል ማረም

ፋይል ለመክፈት ነፃ ፋይል ያስፈልግዎታል እና የፋይል ስም \file = FreeFile 'gfile አሁን ቀጣዩ የሚገኝ freefilec = "c: / test.txt" ከዚያ ፋይል ማስገባት የሚችሉባቸው 4 መንገዶች አሉ - ማንበብ ብቻ ይችላሉ። ውጤት - እርስዎ ብቻ መጻፍ ይችላሉ እና እሱ ካለ ፋይሉን ይደመስሳል። ሰረገላ ተመላሽ እና የመጨረሻ ገጸ -ባህሪያትን በመስመር ላይ ያቅርቡ ያክሉ - እርስዎ ብቻ መጻፍ ይችላሉ። ወደ ነባር ፋይል ያክላል። ሰረገላ መመለሻ እና የመጨረሻ ገጸ -ባህሪያትን በመስመር ላይ ይመገባሉ ቡሪን - ያንብቡ እና ይፃፉ። በጣም ትክክለኛ። እኔ የምጠቀምበት ብቸኛው። የምዝግብ ማስታወሻ ፋይሎችን ለመገንባት እና ለእንደዚህ ዓይነቱ አጠቃቀም አባሪ አዲሱን ግቤት በፋይሉ መጨረሻ ላይ ያክላል። የበለጠ ውስብስብ የምዝግብ ፋይሎች መላውን ፋይል ወደ ተለዋዋጭ በመጫን አዲሱን መግቢያ በ file.dim stro እንደ ሕብረቁምፊ 'ይህ አስፈላጊ ነው ወይም የስህተት ፋይል ይኖራል = FreeFilec = "c: / test.txt" ክፍት ሐ ለባለ ሁለትዮሽ እንደ #gfile' አስታውስ gfile numberstro = space $ (lof (gfile)) ለባለ ሁለትዮሽ ሲከፍቱ ሊወስዱት የሚፈልጉት የጽሑፍ ርዝመት ምን ያህል ትልቅ እንደሆነ መናገር አለብዎት። 1 ፣ stro 'ወደ ፋይል ለማስቀመጥ ከፋይሉ ቁጥር ያግኙ ፣ ባይት ጀምሮ ፣ ተለዋዋጭ። እና ከተለዋዋጭ መዝጊያው #gfilestro ርዝመት ብቻ የሚጫነው አሁን ከፋይሉ ጋር እኩል ነው test.txt.you ፋይል ወደ ፋይል ማስገባት ይችላል byffile = FreeFilestro = "New line" & VbCrLf & stro '' አዲስ መስመር '' እና carraige መመለስ እና linefeed በመቀጠልም የመጀመሪያው textopen c ለ binary እንደ #ffilekill cput #ffile, 1, stro 'put ቀደም ሲል የነበረውን መረጃ ይተካዋል ፋይሉ እየቀነሰ ከሄደ መጀመሪያ የሚዘጋውን ፋይል ይገድላል #ፋይል ፋይል አሁን አንድ ነገር ውስጥ "አዲስ መስመር" አለው ከተቀመጠው ተግባር ጋር አግኝቻለሁ የቁምፊ ዓይነት #ffile ፣ 133 ፣ chr (1) ለማስቀመጥ ከሞከሩ ስህተቶች አሉት ይህ ይህንን በአንድ ፕሮግራም I ሳደርግ አግኝቻለሁ በባይት 133 ቁምፊ 1 ወይም ሄክስ 0x01 እሱ በእውነቱ ሄክስ 0x08000100000001 ን እንዲጨምር አድርጎታል። ፋይሉን ወደ ተለዋዋጭ በመጫን እና ሕብረቁምፊ modsi = 133stro = mid (stro, 1, i - 1) & chr (1) & mid (stro, i + 1 ፣ len (stro) - i) በማድረግ ይህን ፈታሁት። #ፋይል ፣ 1 ፣ stroth ይህ በትክክል ሰርቷል

የሚመከር: