опять проблемка в C#
Ты просишь не отправлять тебя учить С#.
Но без этих знаний ты не можешь написать код.
взял метод "do", что бы крутилось пока не выполниться
-----
Не взял метод, а использовал оператор. Как выглядит оператор и как он работает вполне нужно/можно смотреть в доках.
проверял методом "while", если команда выполнена, поставить галку в чеклистбоксе,
-----
Вхиле - тоже не метод, тоже оператор.
Если его рассматривать так как описно у тебя, то
while (resultat != param.ToString()) /* именно эта часть - до точки с запятой - должна выполнятся.*/ ;
Но твоя проблема в том, что данный вхиле - не тот вхиле который ты ожидаешь/описываешь. Это часть ДО - смотри в доках детали.
В программировании на языках типа Шарпа конструкция означает не то что ты для нее задумал, а то что определено синтаксисом языка... даже если вроде как должно быть по-другому - будет так как написано. По-другому - не будет.
но он почему то вначале выполняет команды, а потом уже пишет разом весь текст в чеклистбокс и ставит галки.
-----
Прими на веру - там делается именно то, что написано в программе.
Раздели на три части:
- Менеджер - читает фаил, отдает строки Парсеру, отдает блоки Команд Исполнителю и помещает нужное в ЧекедЛистБох.
- Парсер - каким угодно методом нарезает полученную строку на блок Команд.
- Исполнитель - выполняет Команды и сообщает результат.
Ну и, разумеется, Команды оформи как Команды.
Чем меньше кода тебе надо будет рассматривать за раз - тем быстрее ты поймешь где у тебя проблема.
1. Вписать в чеклистпокс текст
-----
Ну тут самая первая проблема в том, что непонятно какой текст вписывать в чеклистбох. Откуда его брать - не написано...
Честно говоря, Я до сих пор не до конца понимаю, что именно ты называешь командой.
Сначала это
было - < Текст >< Запятая >< Цифра >
потом < Текст >< Запятая >< Число >
потом < Текст >< Запятая >< Текст >< Запятая >< Цифра >
потом < Текст >< Запятая >< Текст >< Запятая >< Цифра >< Запятая >< Текст >< Запятая >< Цифра >...
[/пре]
Насколько Я могу судить - у тебя есть нечто, что базируется на строке текста имеет:
- текст который нужно поместить в ЧекедЛистБох,
- должно содержать одну и более Комманд,
- возможность выполнить команды
- сообщить результат...
Это может быть таким:
[pre]
class TCommandBlock{
public TCommandBlock(string text)
{
if (TParser.Validate(text))
throw Exception("Wrong command text");
Text4ListBox = TParser.GetListBoxText(text);
Commands = TParser.GetCommands(text);
Status = TStatus.Unknown;
}
public string Text4ListBox { get; internal set; }
public List<TCommand> Command { get; internal set; }
public TStatus Status { get; internal set; }
public bool Execute()
{
bool result = true;
// here should be a code to execute block of the command
// it should change result to false if fail
if(result == true)
{
Status = TStatus.Ok;
}
else
{
Status = TStatus.Fail;
}
return result;
}
}
Разумеется, что это мало похоже на то что ты ожидаешь и тебе непонятно куда его пристраивать... но чтобы понять - надо учится.
Пока скажу что Менеджер должен получить строку из файла и создать ТКомманБлоцк на базе этой строки. Потом - управлять заполнением чецклистбоха, выполнением блока Комманд и проверкой статуса после выполнения.