goedlichtJoost
Gebruiker
- Lid geworden
- 7 mrt 2012
- Berichten
- 477
Hallo allemaal,
Ik ben bezig in C# en moet nu een array aanmaken voor het creeëren van meerdere onderdelen.
het aantal onderdelen dat gemaakt moet worden is afhankelijk van een string. In deze string staat eerst het aantal mixen en vervolgens per mix aangegeven.
het werkt alsvolgt:
024|100|5|200
hierbij zijn de eerste 2 tekens het aantal mixen, en vervolgens 4*100 en 5 * 200
dit betekend us dat er 2 variaties komen, de eerste variatie zijn er 4 van 100 en de tweede variatie zijn er 5 van 200.
In totaal worden er dus 9 onderdelen gemaakt. 4 van 100 en 5 van 200 (dit zijn lengtes).
Hiervoor heb ik de volgende handler gebouwd.
Ik hoop dat mijn probleem zo een beetje duidelijk is, en dat iemand mij hiermee kan helpen.
Alvast bedankt!
Groeten,
Joost
Ik ben bezig in C# en moet nu een array aanmaken voor het creeëren van meerdere onderdelen.
het aantal onderdelen dat gemaakt moet worden is afhankelijk van een string. In deze string staat eerst het aantal mixen en vervolgens per mix aangegeven.
het werkt alsvolgt:
024|100|5|200
hierbij zijn de eerste 2 tekens het aantal mixen, en vervolgens 4*100 en 5 * 200
dit betekend us dat er 2 variaties komen, de eerste variatie zijn er 4 van 100 en de tweede variatie zijn er 5 van 200.
In totaal worden er dus 9 onderdelen gemaakt. 4 van 100 en 5 van 200 (dit zijn lengtes).
Hiervoor heb ik de volgende handler gebouwd.
Code:
double totaalaantalmixxen;
string[] opbouwdelen = new string[2];
opbouwdelen[0] = opbouwtekst.Substring(0, 2);
opbouwtekst = opbouwtekst.Remove(0, 2);
opbouwdelen[1] = opbouwtekst;
totaalaantalmixxen = Double.Parse(opbouwdelen[0]);
Beam[] bp = new Beam[99];
// Hier is het splitsen van de onderdelen gebeurt
if (totaalaantalmixxen > 0) //Mix aanwezig
{
string[] mix = opbouwdelen[1].Split('|'); // data sorteren op | teken
double Mixaantal;
double Mixlengte;
// er is een mix aanwezig, dus het tweede gedeelte van de code wordt gesplit op het "|" teken.
// nu moet de mix array verdeeld worden over 2 instanties, het eerste is het aantal, de tweede is de lengte, de derde is het aantal, de vierde is de lengte, etc.
for (int i = 0; i < (2 * totaalaantalmixxen) - 1; i = i + 2) //Mixxen
{
Mixaantal = double.Parse(mix[i]);
Mixlengte = double.Parse(mix[i + 1]);
for (int a = 0; a < (Mixaantal); a++) //1 mix
{
q++;
//hier is het uitvoeren van de bewerkingen. elke losse bewerking moet een aparte naam krijgen (dit zodat ze later gevonden kunnen worden).
//hiervoor gebruik ik dus een arraynaam. welke de waarde van q krijgt (hiervoor begint elke nieuwe bewerking ook met q++).
//deze array is helemaal bovenaan uitgevoerd : Beam[] bp = new Beam[99];
// bp[q] = new Beam();
// Nu is mijn vraag, hoe kan ik weten hoeveel ik in deze array moet invullen,nu staat er 99 en dit werkt natuurlijk bijna altijd.
//maar dan worden er erg veel niet gebruikt, en stel dat er een keer meer dan 99 mixen nodig zijn dan voldoet dit aantal niet.
Ik hoop dat mijn probleem zo een beetje duidelijk is, en dat iemand mij hiermee kan helpen.
Alvast bedankt!
Groeten,
Joost