מספרים

amirzino

New member
מספרים

אני יוצר תוכנה שתיתן לי את כל צירופים האפשריים למספרים בין 0000 ל 9999 אני רושם לו ב תיבת טקסט את המספר 0000 אני אומר לטיימר להוסיף לי 1 למספר הקיים בתיבה והוא מתחיל מ 1 2 3 4 5 6 7 8 9 וכו' זה הקוד שלי
Private Sub Command1_Click() Dim fso As New FileSystemObject Dim fsoTextStream As TextStream Set fsoTextStream = fso.CreateTextFile("c:\list.txt", True) fsoTextStream.WriteLine (Text1.Text) fsoTextStream.Close Set fso = Nothing Set fsoTextStream = Nothing End Sub Private Sub Timer1_Timer() Text1.Text = Text1.Text + &O1 End Sub Private Sub Timer2_Timer() Dim fso As New FileSystemObject Dim fsoTextStream As TextStream Set fsoTextStream = fso_OpenTextFile("c:\list.txt", ForAppending, False) fsoTextStream.WriteLine (Text1.Text) fsoTextStream.Close Set fso = Nothing Set fsoTextStream = Nothing End Sub Private Sub Timer3_Timer() If Text1.Text = 9999 Then Timer1.Enabled = False If Text1.Text = 9999 Then Timer2.Enabled = False End Sub​
מה לעשות? תודה מראש אמיר זינו
 

Amir0007

New member
למה אתה משתמש בטיימרים?

תיראה אני הייתי עושה במקום כל הטיימרים האלו לולאה מ0 עד 9999 ושכל פעם הוא יוסיף לי אפסים כסטרינג לפני המספר לפני מספר הספרות שלו לדוגמה אם אתה מגיע ל 22 הוא מוסיף לפניו שני אפסים.. עוד משהו זה לא טוב לסגור ללפתוח כל הזמן את הקובץ.. אתה צריך לעשות להכניס את כל המספרים לתיבת טקסט ואז לשמור... את התיבה.. כדי לעשות אנטר אתה צריך להשתמש ב VbNewLine אמיר.
 

amirzino

New member
אני משתמש ב טיימר כך

אני יוצר טיימר אחד שמוסיף 1 לתיבת הטקסט וטיימר אחד ששומר בשורה חדשה את המספר תודה אתה יכול אולי לתת לי את הקוד כי לא הבנתי תודה אמיר
 

Amir0007

New member
אז....?

תיראה אתה יכול לעשות ככה:
for i=0 to 9999 Text1.Text = Text1.Text + &O1 Dim fso As New FileSystemObject Dim fsoTextStream As TextStream Set fsoTextStream = fso_OpenTextFile("c:\list.txt", ForAppending, False) fsoTextStream.WriteLine (Text1.Text) fsoTextStream.Close Set fso = Nothing Set fsoTextStream = Nothing next​
אבל בכל מקרה.. זה לעבוד:
for i=0 to 9999 text1.text= text1.text & se(i) & vbnewline next -- private function se(byval x as integer) as string dim i as integer dim str as string = "" for i =0 to (4 - x.ToString.Length) str = str + "0" next str=str & i return str end function​
תכניס את הלולאה לכפטור או משהו.. ואת הפונקציה תכניס לאותו מחלקה או שתהפוך אותה לpublic בקשה ל x.ToString.Length זה פקודה ב.net משהיא עושה היא מוצאת את האורך של הinteger אם אתה לא עובד ב/net תמצא משו אחר
 
למעלה