გახსენით Visual Basic 6 და აირჩიეთ "Standard EXE" ახალი პროექტის მენიუდან. თქვენ ნახავთ, რომ ეკრანზე გამოჩნდება ცარიელი ფორმა.
დაარქვით სახელი თქვენს პროექტს და თქვენს ფორმას, დააწკაპუნეთ "Project1" ეკრანის მარჯვენა მხარეს, პროექტის სიაში, და შეიყვანეთ ახალი სახელი "სახელი" სტრიქონში თვისებების ველში, რომელიც უნდა გამოჩნდეს პროექტის ჩამონათვალის ქვემოთ ნაგულისხმევი. დააჭირეთ "Enter" ახალი სახელის მისაღებად. იგივე გააკეთეთ თქვენი ფორმისთვის (შემოთავაზებული ფორმის სახელია "CalculatorUI"), დარწმუნდით, რომ შეიყვანეთ მსგავსი სახელი "Caption" თვისებაში, რომელიც შეცვლის ტექსტს ფორმის ზედა ზოლში. შეინახეთ პროექტი თქვენს კომპიუტერში ახალ საქაღალდეში.
ფორმას დაამატეთ ღილაკები და ტექსტური ყუთი. ჯერ დაამატეთ ტექსტური ველი, სადაც გამოჩნდება კალკულატორში შეყვანილი რიცხვები და გამოთვლების შედეგები. გააკეთეთ ეს TextBox ღილაკის არჩევით ინსტრუმენტთა ზოლიდან ეკრანის მარცხენა მხარეს და შემდეგ გადაიტანეთ მაუსით თქვენთვის სასურველი ზომისა და მდებარეობის TextBox-ისთვის. TextBox-ის განთავსების შემდეგ, შეგიძლიათ შეცვალოთ ზომა და მდებარეობა ფორმის სხვა ადგილას გადატანით ან სახელურების (პატარა კვადრატების) გადატანით TextBox-ის საზღვრის გასწვრივ. დარწმუნდით, რომ შეცვალეთ შემდეგი ხაზები თვისებების ფანჯარაში, არჩეული ტექსტური ყუთით: "(Name)" = tbResult, "Alignment" = 1- მარჯვნივ Justify, "Data Format" = (დააწკაპუნეთ ღილაკზე "..." ასარჩევად) ნომერი, "Locked" = True და "ტექსტი" = 0.
აირჩიეთ CommandButton ხატულა ხელსაწყოთა პანელზე და შექმენით პირველი ღილაკი ისევე, როგორც შექმენით TextBox ღილაკების დასამატებლად. ცნობისთვის, გამოიყენეთ Windows კალკულატორი სტანდარტულ ხედში (პროგრამები > აქსესუარები > კალკულატორი), როგორც საფუძვლად თქვენი კალკულატორის განლაგება, გამოტოვეთ ღილაკები "MC", "MR", "MS" და "M+". თითოეულ ღილაკზე შეცვალეთ შემდეგი თვისებები (მაგალითად "+" ღილაკის გამოყენებით): "(Name)" = btnPlus, "Caption" = +. იგივე გააკეთეთ კალკულატორის დანარჩენი ღილაკებისთვის და შემდეგ შეინახეთ სამუშაო. თქვენი ფორმა ახლა უნდა დაემსგავსოს აქ ნაჩვენები მაგალითს.
დაამატეთ კოდი. გაითვალისწინეთ, რომ თუ თქვენი ღილაკები და ტექსტური ყუთი არ არის ისეთივე სახელი, როგორც აქ ჩამოთვლილი კოდი მოელის, დაგჭირდებათ შეცვალოთ სახელები, რათა შეესაბამებოდეს თქვენს ღილაკებს და ტექსტურ ყუთს, ან შეცვალოთ თქვენი ღილაკები და ტექსტის ყუთი, რომ შეესაბამებოდეს ამას კოდი. პირველ რიგში, ჩვენ უნდა შევქმნათ რამდენიმე ცვლადი კალკულატორის შეყვანის დასამუშავებლად:
Dim sleft როგორც სტრიქონი, sRight როგორც სტრიქონი, sOperator როგორც სიმებიანი Dim iLeft როგორც ორმაგი, iRight როგორც ორმაგი, iResult როგორც ორმაგი Dim bLeft როგორც ლოგიკური
თითოეული გაანგარიშება შედგება ოთხი ნაწილისგან: რიცხვი ოპერატორის მარცხნივ (sLeft, iLeft), ოპერატორი (sOperator), რიცხვი ოპერატორის მარჯვნივ (sRight, iRight) და შედეგი (iResult). იმისთვის, რომ თვალყური ადევნოთ, შეაქვს თუ არა მომხმარებელი მარცხენა ან მარჯვენა რიცხვს, ჩვენ უნდა შევქმნათ ლოგიკური ცვლადი, bLeft. თუ bLeft არის ჭეშმარიტი, შეყვანილია გაანგარიშების მარცხენა მხარე; თუ bLeft არის false, მარჯვენა მხარე შეყვანილია.
bLeft ცვლადის ინიციალიზაცია. ჩვენ ამას ვაკეთებთ Form_Load ქვეპროგრამის შექმნით, რომელიც შეგიძლიათ აკრიფოთ როგორც აქ არის ჩამოთვლილი, ან ავტომატურად შექმნათ ფორმის ნებისმიერ ნაწილზე ორჯერ დაწკაპუნებით, რომელიც არ არის დაფარული ღილაკით ან ტექსტური ყუთით. ფუნქციის შიგნით, bLeft უნდა დავაყენოთ True-ზე, რადგან პირველი შეყვანილი რიცხვი იქნება მარცხენა ნაწილი:
შექმენით ქვეპროგრამა, რომელიც გაუმკლავდება რომელიმე ნომრის ღილაკზე დაწკაპუნებას. ჩვენ ვქმნით ამას, როგორც ქვეპროგრამას, რადგან ვიყენებთ იდენტურ კოდს თითოეული ღილაკისთვის, ხოლო ქვეპროგრამის გამოყენება ნიშნავს, რომ არ მოგიწევთ იგივე კოდის ათჯერ გამეორება. შეიყვანეთ შემდეგი ფორმა Form_Load ქვეპროგრამის ბოლო ქვესტრიქონში:
როგორც ხედავთ, ეს ფუნქცია იღებს სტრიქონის პარამეტრს, sNumber, რომელიც შეიცავს რიცხვს, რომელზეც მომხმარებელმა დააწკაპუნა. თუ bLeft არის true, ეს რიცხვი ემატება სტრიქონს, რომელიც წარმოადგენს შეყვანილ რიცხვს, sLeft, და ტექსტური ყუთი, tbResult, განახლდება ახალი ნომრის საჩვენებლად. თუ bLeft არის false, იგივე ოპერაცია შესრულებულია sRight-ის ნაცვლად.
დაბოლოს, შექმენით დაწკაპუნების ღონისძიების ფუნქცია თითოეული ნომრისთვის, რომელიც უწოდებს ჩვენს AddNumber ქვეპროგრამას. ამის გაკეთება მარტივად შეგიძლიათ თითოეულ ნომრის ღილაკზე ორჯერ დაწკაპუნებით, რომელიც შეგიქმნით ქვეპროგრამის სტრუქტურას. შემდეგ დაამატეთ ზარი AddNumber-ში, ჩაანაცვლეთ ბრჭყალებში მოცემული ნომერი ღილაკთან დაკავშირებული ნომრით. ნულოვანი ღილაკისთვის თქვენი კოდი ასე გამოიყურება:
ანალოგიურად, ერთი ღილაკისთვის, თქვენი კოდი ასე გამოიყურება:
დაამუშავეთ ოპერატორები: პლუს, მინუს, ჯერ და გაყოფა. ჩვენ გავაკეთებთ ამას ბოლო ნაბიჯის მსგავსად, შევქმნით ქვეპროგრამას, რომელიც გამოიძახება ოპერატორის ღილაკებისთვის Click events. ქვეპროგრამა ასე გამოიყურება:
თუ bLeft არის true, რაც იმას ნიშნავს, რომ მომხმარებელმა ახლახან შეიყვანა გაანგარიშების მარცხენა ნაწილი, ეს ქვეპროგრამა ადგენს sOperator ცვლადი ჩვენ შევქმენით მე-5 საფეხურზე შეყვანილი ოპერატორის გასატოლებლად, რომელიც გადაეცემა AddOperator-ს, როგორც სტრიქონი. sNewOperator. მეორე ნაბიჯი არის bLeft-ის დაყენება False-ზე, რადგან ოპერატორის შეყვანა ნიშნავს, რომ მომხმარებელმა შეასრულა განტოლების მარცხენა მხარეს შესვლა. იმისათვის, რომ დავამუშაოთ ჩანაწერები, რომლებიც აერთიანებს რამდენიმე ოპერატორს ერთად, როგორიცაა 9 * 3 * 2 * 6, ჩვენ გვჭირდება ასევე შეამოწმეთ არის თუ არა bLeft false, რაც ნიშნავს, რომ მომხმარებელმა შეიყვანა ოპერატორი, სადაც ჩვენ ველოდით უდრის. ჯერ მოვუწოდებთ Click მოვლენას ტოლების ღილაკისთვის (აღწერილია შემდეგ ეტაპზე), რომელიც აკეთებს გამოთვლას და აყენებს tbResult უკვე შეყვანილ შედეგს. შემდეგ ჩვენ ვასუფთავებთ sRight-ს, რათა მომხმარებელმა შეიყვანოს შემდეგი ნომერი და bLeft დავაყენოთ False-ზე, რათა პროგრამამ იცოდეს, რომ შემდეგ შევდივართ გაანგარიშების მარჯვენა მხარეს.
დაბოლოს, დაამატეთ AddOperator ზარი თითოეული ოპერატორის ღილაკზე Click მოვლენაზე, იგივე მეთოდის გამოყენებით, რაც ჩვენ გამოვიყენეთ ნაბიჯი 7-ში, რათა შევქმნათ Click მოვლენები ნომრის ღილაკებისთვის. პლუს ღილაკის თქვენი კოდი ასე გამოიყურება:
შექმენით Click ღონისძიება ტოლობის ღილაკისთვის, რომელიც ყველაზე რთული კოდია ამ პროგრამაში. შექმენით ქვეპროგრამის სტრუქტურა, როგორც ეს გააკეთეთ სხვა ღილაკებისთვის, ორჯერ დააწკაპუნეთ ტოლობის ღილაკზე თქვენს ფორმაზე. კოდის შეყვანისას თქვენი ქვეპროგრამა ასე გამოიყურება:
კოდის პირველი სამი ხაზი ამოწმებს თუ არა გაანგარიშების ორივე მხარე ოპერატორთან ერთად შეყვანილი. თუ მხოლოდ მარცხენა მხარე და ოპერატორია შეყვანილი, მარცხენა მხარის მნიშვნელობა დაკოპირდება მარჯვნივ, ასე რომ, ჩვენ შეგვიძლია მივბაძოთ სტანდარტული კალკულატორის ქცევა ისეთი ჩანაწერის დასამუშავებლად, როგორიცაა 9 * =, რომელიც ამრავლებს 9-ს თავისთავად 81-ის მისაღებად. დანარჩენი კოდი იმუშავებს მხოლოდ იმ შემთხვევაში, თუ შეყვანილია მარცხნივ, მარჯვნივ და ოპერატორი და იწყება კოპირებით რიცხვების სტრიქონები ჩვენს iLeft და iRight ორმაგი აკრეფილ ცვლადებში, რომლებსაც შეუძლიათ რეალურად გააკეთონ გამოთვლები. Select Case განაცხადი საშუალებას გვაძლევს გავუშვათ სხვადასხვა კოდი იმის მიხედვით, თუ რომელი ოპერატორი იყო შეყვანილი, და ასრულებს ფაქტობრივ გამოთვლას, მოათავსებს შედეგს iResult-ში. და ბოლოს, ჩვენ ვაახლებთ ტექსტურ ყუთს შედეგით, ვაკოპირებთ შედეგს sLeft-ში, გადავაყენებთ sRight-ს და ვაყენებთ bLeft = True. ეს ბოლო სტრიქონები საშუალებას გვაძლევს ავიღოთ გაანგარიშების შედეგი და გამოვიყენოთ სხვა გაანგარიშების შესასრულებლად.
დაამუშავეთ ბოლო სამი ოპერაციის ღილაკი: sqrt, % და 1/x. კვადრატული ფესვის ღილაკის Click მოვლენისთვის, თქვენი კოდი ასე გამოიყურება:
კოდის პირველი 11 სტრიქონი დარწმუნდება, რომ თუ ჩვენ არ გვაქვს შეყვანილი მნიშვნელობა განტოლების ორივე მხარისთვის, ჩვენ ვცვლით ნულს იმის ნაცვლად, რომ ვცდილობთ დავაკოპიროთ ცარიელი სტრიქონი iLeft-ში ან iRight-ში, რაც გამოიმუშავებს შეცდომა. შუა ხაზები ასრულებენ კვადრატული ფესვის ფუნქციას გაანგარიშების მიმდინარე ნაწილზე, მარცხნივ ან მარჯვნივ. და ბოლოს, ჩვენ თავიდან ვაბრუნებთ შემოწმებებს, რომლებიც გავაკეთეთ თავიდან ისე, რომ ნული დაკოპირდება ცარიელი სტრიქონის სახით უკან sLeft და sRight.
პროცენტის ღილაკისთვის, კოდი მსგავსია, ერთი გამონაკლისის გარდა: პროცენტული მოქმედების შესრულება შესაძლებელია მხოლოდ იმ შემთხვევაში, თუ შეყვანილია ორივე მარცხენა და მარჯვენა მხარე.
და ბოლოს, 1/x, ან წილადი, Click მოვლენა, რომელიც ძალიან ჰგავს ზემოთ მოცემულ კოდს:
დაამატეთ კოდი C და CE ღილაკების დასამუშავებლად. C ასუფთავებს ყველა შენატანს კალკულატორში, ხოლო CE ასუფთავებს მხოლოდ ამჟამად შეყვანილ რიცხვს.
გაუშვით თქვენი კალკულატორის პროგრამა და გააკეთეთ ნებისმიერი გამოთვლა, რომელიც გსურთ. ეს კალკულატორი ადვილად შეიძლება გაფართოვდეს, რათა გაუმკლავდეს უფრო მეტ ოპერაციებს, უფრო რთულ გამოთვლებს ან თუნდაც იყოს სამეცნიერო კალკულატორი ცოტა დამატებითი სამუშაოთი.
რჩევა
თუ შეცდომებს წააწყდებით, შეამოწმეთ თქვენი კოდი სტრიქონ-სტრიქონში, ფოკუსირება მოახდინეთ იმ ხაზებზე, რომლებიც VB-მ შეცდომებს უწოდა და შეადარეთ იგი ზემოთ მოცემულ კოდს. ამ სტატიაში მოცემული კოდი სრულად შემოწმებულია შეცდომების გარეშე, ამიტომ მისი ერთგულად კოპირება გამოიწვევს ფუნქციურ პროგრამას. თუ იყენებთ Visual Basic-ის წინა ვერსიას, შეიძლება შეგხვდეთ პრობლემები, როდესაც ცვლილებები განხორციელდა ენაში სხვადასხვა ვერსიებში. VB-ის წინა ვერსიები, მაგალითად, იყენებდნენ მათემატიკას. Sqrt() მათემატიკის ნაცვლად. Sqr() კვადრატული ფესვის ოპერაციის შესასრულებლად. შეამოწმეთ ცნობები თქვენი კონკრეტული ვერსიისთვის, რათა ნახოთ, საჭიროა თუ არა რაიმე ცვლილებები.