русский
Germany.ruForen → Архив Досок→ Programmierung

опять проблемка в C#

26.11.17 14:54
Re: опять проблемка в C#
 
beautiful_man посетитель
in Antwort maxxxl79 26.11.17 13:49
SendXPCommand(ar[0], ar[1]);

ar[1] не работало, ошибку показывало, добавил

int param;
int.TryParse(ar[1].Trim(), out param);

теперь выглядит так:


private async void readfile()
{
var lines = System.IO.File.ReadAllLines(@"data\738.chl");
foreach (var line in lines)
{
var text = line.Split(',')[0];
checkedListBox1.Items.Add(text);
await Task.Delay(500);
var matches = Regex.Matches(line, @"([\w+\s*\/\[\]]+,[\s*>?.?\d]+)");
foreach (Match match in matches)
{
var ar = match.Value.Split(',');
int param;
int.TryParse(ar[1].Trim(), out param);
SendXPCommands(ar[0],param);
await Task.Delay(500);
checkedListBox1.SetItemChecked(checkedListBox1.Items.Count - 1, true);
await Task.Delay(500);
}
}


и работает, maxxxl79 огромное спасибо.


ещё есть проблема с разбиранием массива:

параметер показан здесь

нужно извлечь текст из массива, массив от 0-40.

пробовал так:

взял параметр 5

SendXPCommands("sim/aircraft/view/acf_ICAO", 10, 5);

if (paramNum == 5)
{
char[] buf = new
char[binaryReader.BaseStream.Length - binaryReader.BaseStream.Position];
binaryReader.Read(buf, 0,
(int)(binaryReader.BaseStream.Length -
binaryReader.BaseStream.Position));
string ICAO = new string(buf);
ICAO = ICAO.Split(new[] { '\0' }, 2)[0];
 

Sprung zu