כותב |
|
dinbrca משתמש מתחיל
הצטרף / הצטרפה: 16 September 2007
משתמש: מנותק/ת הודעות: 20
|
נשלח בתאריך: 17 September 2007 בשעה 15:55 | | IP רשוּם
|
|
|
|
איך אני מגריל (חח) תווים סתכלו בספר רשום על הגרלת מספרים הנה למשל כך:
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 אם אתה מסתכל אז שלחתי לך בנושא הקודם שלי למה אני חייב לעשות כמו שביקשתי אז בבקשה תענה לי גם על הנושא הקודם..
|
חזרה לתחילת העמוד |
|
|
shoshan מנהל האתר
הצטרף / הצטרפה: 16 July 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 4637
|
נשלח בתאריך: 17 September 2007 בשעה 16:20 | | IP רשוּם
|
|
|
|
לא המרת ל-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); |
|
|
ובספר שלך לא מסבירים על הדפסה מחרוזת פורמט ?
והנושא הקודם מיותר לטעמי, תמשיך ללמוד...
__________________ עד מתי רשעים יעלוזו?
עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
|
חזרה לתחילת העמוד |
|
|
dinbrca משתמש מתחיל
הצטרף / הצטרפה: 16 September 2007
משתמש: מנותק/ת הודעות: 20
|
נשלח בתאריך: 17 September 2007 בשעה 16:46 | | IP רשוּם
|
|
|
|
חח תודה אבל מה זה מיותר? חחח אני רוצה לעשות משהו קטן... בבקשה תעזור לי!!!!!!! רגע אבל עכשיו נוצרה לי עוד בעיה חח סתכל אתה בטח יודע מה זה פרויקט מסוג: 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'"
למה זה קורה?
|
חזרה לתחילת העמוד |
|
|
shoshan מנהל האתר
הצטרף / הצטרפה: 16 July 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 4637
|
נשלח בתאריך: 17 September 2007 בשעה 17:29 | | IP רשוּם
|
|
|
|
בבקשה תעזור לי!!!!!!! => חסימת יוזר פעם הבאה.
thou shall not act like a n00b if thou have enough intelligence not to
ואם אתה לא יודע מה זה מיותר תפתח מילון
וה-text של text box הוא באמת מחרוזת ולא תו,
תנסה:
__________________ עד מתי רשעים יעלוזו?
עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
|
חזרה לתחילת העמוד |
|
|
dinbrca משתמש מתחיל
הצטרף / הצטרפה: 16 September 2007
משתמש: מנותק/ת הודעות: 20
|
נשלח בתאריך: 17 September 2007 בשעה 18:10 | | IP רשוּם
|
|
|
|
עשיתי בדיוק כמו שאמרת:
Random randChar = new Random();
char c1 = (char)randChar.Next((int)'a', (int)'z');
textBox1.Text = ( string)c1;
ועדיין הוא עושה לי אותו דבר...
|
חזרה לתחילת העמוד |
|
|
shoshan מנהל האתר
הצטרף / הצטרפה: 16 July 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 4637
|
נשלח בתאריך: 17 September 2007 בשעה 18:19 | | IP רשוּם
|
|
|
|
אוקיי, הכי פשוט יהיה:
ותעיף מבט על קודי הפורום איך שולחים קוד...
__________________ עד מתי רשעים יעלוזו?
עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
|
חזרה לתחילת העמוד |
|
|
dinbrca משתמש מתחיל
הצטרף / הצטרפה: 16 September 2007
משתמש: מנותק/ת הודעות: 20
|
נשלח בתאריך: 17 September 2007 בשעה 18:47 | | IP רשוּם
|
|
|
|
אחי שוב פעם זה לא עשה כלום הנה מה שעשיתי:
Random randChar = new Random();
string c1 = (string)randChar.Next((int)'a', (int)'z');
textBox1.Text = c1.ToString();
הוא אומר לי:
"Cannot convert type 'int' to 'string'"
ותגיד- מאיפה אתה יודע את כל הדברים האלה?
|
חזרה לתחילת העמוד |
|
|
dinbrca משתמש מתחיל
הצטרף / הצטרפה: 16 September 2007
משתמש: מנותק/ת הודעות: 20
|
נשלח בתאריך: 17 September 2007 בשעה 19:48 | | IP רשוּם
|
|
|
|
אה עוד שאלה לא ממש קשורה אבל שני השאלות קשורות למשהו שאני יוצר:
איך אני מקבל את הTop וה Left של ה Form1? כאילו הטופס שבו אני יוצר את הדברים?
כי על פי מה שאני רואה ב C# אין לטופס מאפיינים כאלה אז מה אני עושה?
|
חזרה לתחילת העמוד |
|
|
shoshan מנהל האתר
הצטרף / הצטרפה: 16 July 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 4637
|
נשלח בתאריך: 17 September 2007 בשעה 21:50 | | IP רשוּם
|
|
|
|
יש לו מאפיינים Top ו-Left, אתה ניגש אליו ע"י this.Left, this.Top או בלי this...
ולמה הפחת את c1 למחרוזת מ-תו ? (??)
char c1 = (char) bla
ואח"כ .ToString()
__________________ עד מתי רשעים יעלוזו?
עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
|
חזרה לתחילת העמוד |
|
|
dinbrca משתמש מתחיל
הצטרף / הצטרפה: 16 September 2007
משתמש: מנותק/ת הודעות: 20
|
נשלח בתאריך: 17 September 2007 בשעה 23:12 | | IP רשוּם
|
|
|
|
אחי אין דבר כזה
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
|
חזרה לתחילת העמוד |
|
|
shoshan מנהל האתר
הצטרף / הצטרפה: 16 July 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 4637
|
נשלח בתאריך: 17 September 2007 בשעה 23:18 | | IP רשוּם
|
|
|
|
שמת את זה ב-Console Application או ב-Windows Application ?
ואם אתה יוצר כמה Randomים אחד אחרי השני הם מקבלים seed אוטומטי של התאריך והשעה הנוכחיים, לכם אם הם נוצרים באותו מקום (באותו זמן) אז הם נוצרים זהים.
וזה גם מיותר לחלוטין ליצור כמה Randomים, למה לא רק אחד ?
__________________ עד מתי רשעים יעלוזו?
עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
|
חזרה לתחילת העמוד |
|
|
dinbrca משתמש מתחיל
הצטרף / הצטרפה: 16 September 2007
משתמש: מנותק/ת הודעות: 20
|
נשלח בתאריך: 17 September 2007 בשעה 23:46 | | IP רשוּם
|
|
|
|
את זה שמתי ב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 אז מה אני יעשה?
, תודה שאתה עוזר לי וסליחה שאני מציק..
|
חזרה לתחילת העמוד |
|
|
שושן אורח
הצטרף / הצטרפה: 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 רשוּם
|
|
|
|
אחי אבל אם אני רוצה לעשות נגיד:
קוד:
if (lblMat1R >= this.Top)
{
for (int R = 0; R <= 1000; R++)
lblMat1R = Top + 3;
}
|
|
|
אבל אני רוצה לעשות את זה בטיימר אז מה אני עושה?
ותודה על הרנדומים דווקא את הטיימר של הרנדומים שכחתי לשנות לEnabled =/ ועוד משהו: שום דבר לא מונע ממני לעשות את הדבר הזה של הקודים אבל זה ממש ממש מעצבן שאין כפתור כזה כי בעצם זה אתר של תיכנות וכמעט על כל נושא אנשים צריכים אותו..
|
חזרה לתחילת העמוד |
|
|