06. april 2004 - 16:43
Der er
4 kommentarer og
1 løsning
Nybegynder fejl?
Hej eksperter!
Jeg er helt grøn til C#. Jeg er gået i gang med en fiktiv keygen, der skal vælge 16 forskellige bogstaver på denne form:
XXXX-XXXX-XXXX-XXXX. (hvor X er forskellige bogstaver).
Jeg er dog stødt på et mærkeligt problem.
Min kode kan findes her:
www.ledets.dk/kode1.txtHvis jeg compiler dette får tekstfeltet f.eks. værdierne
JJJJ-JJJJ-JJJJ-JJJJ
OOOO-OOOO-OOOO-OOOO
Hvis jeg istedet skriver koden:
www.ledets.dk/kode2.txtFungerer programmet. Den eneste forskel i de to koder er linjen
MessageBox.Show("hej");
Hvordan kan det være at den første fungerer når den sidste linje er med???
/Jeppe
07. april 2004 - 13:06
#4
I stedet for at oprette et nyt random-objekt hver gang der vælges et tilfældigt bogstav, oprettede jeg kun et i starten af min kode, og nøjedes med at kalde myRand.Next(elementer.length);
Så virkede det
07. april 2004 - 13:10
#5
private void button1_Click(object sender, System.EventArgs e)
{
textBox2.Text = "";
int blocks = 5;
int b_segments = 4;
statusBar1.Maximum = blocks*b_segments;
string[] elementer = new string[]{"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","1","2","3","4","5","6","7","8","9","0"};
string[] kelem = new string[blocks];
Random myRand = new Random();
statusBar1.Value = 0;
for(int i=0;i<blocks;i++)
{
for(int j=0;j<b_segments;j++)
{
int num = myRand.Next(elementer.Length);
kelem[i] += elementer[num];
Thread.Sleep(50);
statusBar1.Value += 1;
}
}
for(int k=0;k<blocks;k++)
{
if(k==blocks-1)
{
textBox2.Text += kelem[k];
}
else
{
textBox2.Text += kelem[k]+"-";
}
}
MessageBox.Show("Done. Key is now generated!","Key generated!");
}