נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: [C#] הגרלת תווים..

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
dinbrca
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 16 September 2007
משתמש: מנותק/ת
הודעות: 20
נשלח בתאריך: 17 September 2007 בשעה 15:55 | IP רשוּם
ציטוט dinbrca

איך אני מגריל (חח) תווים סתכלו בספר רשום על הגרלת מספרים הנה למשל כך:

Random randNum = new Random;

int n1 = randNum(1, 20);

 

עכשיו אני רוצה להגריל ולהציג אותם הנה למשל זה מה שעשיתי:

Random randChar = new Random();

char ch1 = randChar.Next('a', 'z');

Console.WriteLine(ch1);

 

עכשיו מה הבעיה פה? הוא נותן לי הודעת ארור דיי ארוכה על כך שהוא לא יכול להמיר int ל char

אבל לא עשיתי שום int אז מה הבעיה???

 

ולShosan אם אתה מסתכל אז שלחתי לך בנושא הקודם שלי למה אני חייב לעשות כמו שביקשתי אז בבקשה תענה לי גם על הנושא הקודם..

חזרה לתחילת העמוד הצג את כרטיס החבר של dinbrca חפש הודעות אחרות של dinbrca
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 17 September 2007 בשעה 16:20 | IP רשוּם
ציטוט shoshan

לא המרת ל-int אבל int זה מה שהפוקנציה מקבלת ואתה מעביר char...

מה שאתה בעצם רוצה לעשות זה להגריל מספר שייצג אות, ואז להמיר אותו לאות...

משהו כמו

קוד:
int minChar = (int)'a';
int maxChar = (int)'z';
Random randChar = new Random();
char c1 = (char)randChar.Next(minChar, maxChar);
Console.WriteLine(c1);


או קצת יותר קצר

קוד:
Random rand = new Random();
char c1 = (char)rand.Next((int)'a', (int)'z');
Console.WriteLine(c1);


ובספר שלך לא מסבירים על הדפסה מחרוזת פורמט ?

והנושא הקודם מיותר לטעמי, תמשיך ללמוד...


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
dinbrca
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 16 September 2007
משתמש: מנותק/ת
הודעות: 20
נשלח בתאריך: 17 September 2007 בשעה 16:46 | IP רשוּם
ציטוט dinbrca

חח תודה אבל מה זה מיותר? חחח אני רוצה לעשות משהו קטן... בבקשה תעזור לי!!!!!!!  רגע אבל עכשיו נוצרה לי עוד בעיה חח סתכל אתה בטח יודע מה זה פרויקט מסוג: Windows Application

עכשיו

אני יצרתי textBox שקוראים לו textBox1 עכשיו אני רוצה שכאשר החלון יעלה אז השם של textBox1 יהיה אות רנדומלית הנה סתכל:

private void Form1_Load(object sender, EventArgs e)

{

Random randChar = new Random();

char c1 = (char)randChar.Next((int)'a', (int)'z');

textBox1.Text = c1;

}

 

אוקי? עכשיו

כשאני מריץ את התוכנית אז הוא נותן לי הודעת ארור כזאת:

"Cannot implicitly convert type 'char' to 'string'"

למה זה קורה?

חזרה לתחילת העמוד הצג את כרטיס החבר של dinbrca חפש הודעות אחרות של dinbrca
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 17 September 2007 בשעה 17:29 | IP רשוּם
ציטוט shoshan

בבקשה תעזור לי!!!!!!! => חסימת יוזר פעם הבאה.

thou shall not act like a n00b if thou have enough intelligence not to

ואם אתה לא יודע מה זה מיותר תפתח מילון

וה-text של text box הוא באמת מחרוזת ולא תו,

תנסה:

קוד:
(string)c1



__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
dinbrca
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 16 September 2007
משתמש: מנותק/ת
הודעות: 20
נשלח בתאריך: 17 September 2007 בשעה 18:10 | IP רשוּם
ציטוט dinbrca

עשיתי בדיוק כמו שאמרת:

Random randChar = new Random();

char c1 = (char)randChar.Next((int)'a', (int)'z');

textBox1.Text = (string)c1;

 

ועדיין הוא עושה לי אותו דבר...

חזרה לתחילת העמוד הצג את כרטיס החבר של dinbrca חפש הודעות אחרות של dinbrca
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 17 September 2007 בשעה 18:19 | IP רשוּם
ציטוט shoshan

אוקיי, הכי פשוט יהיה:

קוד:
c.ToString()


ותעיף מבט על קודי הפורום איך שולחים קוד...


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
dinbrca
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 16 September 2007
משתמש: מנותק/ת
הודעות: 20
נשלח בתאריך: 17 September 2007 בשעה 18:47 | IP רשוּם
ציטוט dinbrca

אחי שוב פעם זה לא עשה כלום הנה מה שעשיתי:

Random randChar = new Random();

string c1 = (string)randChar.Next((int)'a', (int)'z');

textBox1.Text = c1.ToString();

 

הוא אומר לי:

"Cannot convert type 'int' to 'string'"

ותגיד- מאיפה אתה יודע את כל הדברים האלה?

חזרה לתחילת העמוד הצג את כרטיס החבר של dinbrca חפש הודעות אחרות של dinbrca
 
dinbrca
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 16 September 2007
משתמש: מנותק/ת
הודעות: 20
נשלח בתאריך: 17 September 2007 בשעה 19:48 | IP רשוּם
ציטוט dinbrca

אה עוד שאלה לא ממש קשורה אבל שני השאלות קשורות למשהו שאני יוצר:

איך אני מקבל את הTop וה Left של ה Form1? כאילו הטופס שבו אני יוצר את הדברים?

כי על פי מה שאני רואה ב C# אין לטופס מאפיינים כאלה אז מה אני עושה?

חזרה לתחילת העמוד הצג את כרטיס החבר של dinbrca חפש הודעות אחרות של dinbrca
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 17 September 2007 בשעה 21:50 | IP רשוּם
ציטוט shoshan

יש לו מאפיינים Top ו-Left, אתה ניגש אליו ע"י this.Left, this.Top או בלי this...

ולמה הפחת את c1 למחרוזת מ-תו ? (??)

char c1 = (char) bla

ואח"כ .ToString()


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
dinbrca
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 16 September 2007
משתמש: מנותק/ת
הודעות: 20
נשלח בתאריך: 17 September 2007 בשעה 23:12 | IP רשוּם
ציטוט dinbrca

אחי אין דבר כזה

this.Top ו

this.Left ואין גם בלעדי this ניסיתי אותם

ועוד משהו הצלחתי את הרנדומליות אבל יש לי קצת בעיה סתכל זה הדוגמא:

using System;

using System.Collections.Generic;

using System.Text;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

Random randCharL1 = new Random();

char L1 = (char)randCharL1.Next((int)'A', (int)'Z');

Random randCharL2 = new Random();

char L2 = (char)randCharL2.Next((int)'A', (int)'Z');

Random randCharL3 = new Random();

char L3 = (char)randCharL3.Next((int)'A', (int)'Z');

Random randCharL4 = new Random();

char L4 = (char)randCharL4.Next((int)'A', (int)'Z');

Random randCharL5 = new Random();

char L5 = (char)randCharL5.Next((int)'A', (int)'Z');

Console.WriteLine("{0} {1} {2} {3} {4}", L1.ToString(), L2.ToString(), L3.ToString(), L4.ToString(), L5.ToString());

}

}

}

 

עכשיו יצרתי 5 רנדומלים (זה בפרויקט Console) והרצתי את התוכנית עכשיו הוא מראה לי את אותם התווים ואני רוצה שכל תו יהיה משהו אחר... מה אני עושה? נגיד אני רוצה שיצא לי X Y Z W O אבל במקום זה הוא נותן לי נגיד Y Y Y Y Y

חזרה לתחילת העמוד הצג את כרטיס החבר של dinbrca חפש הודעות אחרות של dinbrca
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 17 September 2007 בשעה 23:18 | IP רשוּם
ציטוט shoshan

שמת את זה ב-Console Application או ב-Windows Application ?

ואם אתה יוצר כמה Randomים אחד אחרי השני הם מקבלים seed אוטומטי של התאריך
והשעה הנוכחיים, לכם אם הם נוצרים באותו מקום (באותו זמן) אז הם נוצרים זהים.

וזה גם מיותר לחלוטין ליצור כמה Randomים, למה לא רק אחד ?


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
dinbrca
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 16 September 2007
משתמש: מנותק/ת
הודעות: 20
נשלח בתאריך: 17 September 2007 בשעה 23:46 | IP רשוּם
ציטוט dinbrca

את זה שמתי בConsole Application אבל אם אני ישים את זה בWindows Application ויעשה כמה טיימרים ויעשה על כל אחד משהו אחר אז הוא יתן תוצאה אחרת?

כלומר נגיד ואני יעשה ככה (לא יודע למה הוא לא מראה לי שום תו =[):

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace WindowsApplication1

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void Form1_Load(object sender, EventArgs e)

{

}

private void timer1_Tick(object sender, EventArgs e)

{

Random randCharL1 = new Random();

char L1 = (char)randCharL1.Next((int)'A', (int)'Z');

label1.Text = L1.ToString();

}

private void timer2_Tick(object sender, EventArgs e)

{

Random randCharL4 = new Random();

char L4 = (char)randCharL4.Next((int)'A', (int)'Z');

label2.Text = L4.ToString();

}

}

}

 

ואם אני רוצה שיצא לי כמה Randomים בConsole Application אז מה אני יעשה?

, תודה שאתה עוזר לי וסליחה שאני מציק..

חזרה לתחילת העמוד הצג את כרטיס החבר של dinbrca חפש הודעות אחרות של dinbrca
 
שושן
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 18 September 2007 בשעה 01:07 | IP רשוּם
ציטוט שושן

אני לא מבין מה מונע ממך להבין איך שולחים קוד במערכת פורומים הזאת :) ...

[code ] לפני ו-[/code] אחרי...

ה-Top וה-Left כמובן יעבדו רק בטופס.

ה-Randomים - אותו דבר בשניהם, יוצרים אובייקט אחד גלובאלי ואח"כ משתמשים באותו אובייקט כל הזמן...

ובקוד שלך בטח לא הפעלת את ה-Timer
(ראה תכונה Enabled)
חזרה לתחילת העמוד הצג את כרטיס החבר של שושן חפש הודעות אחרות של שושן בקר בדף הבית של שושן
 
dinbrca
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 16 September 2007
משתמש: מנותק/ת
הודעות: 20
נשלח בתאריך: 18 September 2007 בשעה 07:40 | IP רשוּם
ציטוט dinbrca

אחי אבל אם אני רוצה לעשות נגיד:

קוד:

if (lblMat1R >= this.Top)

{

for (int R = 0; R <= 1000; R++)

lblMat1R = Top + 3;

}

אבל אני רוצה לעשות את זה בטיימר אז מה אני עושה?

ותודה על הרנדומים דווקא את הטיימר של הרנדומים שכחתי לשנות לEnabled =/ ועוד משהו: שום דבר לא מונע ממני לעשות את הדבר הזה של הקודים אבל זה ממש ממש מעצבן שאין כפתור כזה כי בעצם זה אתר של תיכנות וכמעט על כל נושא אנשים צריכים אותו..

חזרה לתחילת העמוד הצג את כרטיס החבר של dinbrca חפש הודעות אחרות של dinbrca
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

קפיצה לפורום
אינך יכול/ה לשלוח נושאים חדשים בפורום זה
אינך יכול/ה להגיב לנושאים בפורום זה
אינך יכול/ה למחוק את הודעותיך ותגוביך בפורום זה
אינך יכול/ה לערוך את הודעותיך ותגובותיך בפורום זה
אינך יכול/ה לצור סקרים בפורום זה
אינך יכול/ה להצביע בסקרים בפורום זה