Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.09.21;
Скачать: CL | DM;

Вниз

Как это будет на C#?   Найти похожие ветки 

 
Перебежчик   (2008-07-27 21:33) [0]

Привет. Есть такой код:

var
 ST: TStrings;
 I: Integer;
begin
 ST := TStringList.Create;
 ST.Text := Memo1.Text;
 ..
 for I := 0 to ST.Count - 1 do
   ST[I] := ST[I] + "блаблабла";
 ..
end;


Очень простой код. Но уже несколько часов я мучаюсь с переносом его на C#. Пробовал и простой List и ArrayList, в результате получается что то вроде "<текст из Memo1>блаблабла", хотя "блаблабла" должно стоять в конце каждой строки. Что я делаю не так?


 
Anatoly Podgoretsky ©   (2008-07-27 21:37) [1]

> Перебежчик  (27.07.2008 21:33:00)  [0]

В приведеном коде С# не видать, как не видать и что ты пробовал.
Приведеный код правильный!


 
Palladin ©   (2008-07-27 21:42) [2]


>  Но уже несколько часов я мучаюсь с переносом его на C#.

я тоже мучаюсь... понятие догнать не мог где же там ТСтрингЛист в шисарпе...


 
Перебежчик   (2008-07-27 21:43) [3]

2 Anatoly Podgoretsky

string Result = "";
ArrayList SL = new ArrayList();
SL.Add(Text);

for (int I = 0; I < SL.Count; I++)
{
 S = SL[I] + "блаблабла";
 Result = Result + S;
}
return Result;


 
brrr   (2008-07-27 21:43) [4]

Не знаю, что у вас там за Мемо такое, но предлагю ковырять в сторону StringReader. Строки должны быть разделены \r\n


 
Agent13 ©   (2008-07-27 21:56) [5]


> Перебежчик   (27.07.08 21:43) [3]

Твоя ошибка состоит в том, что ты надеешься после этого: > SL.Add(Text); получить текст в массиве уже разделённым по строкам.
А вообще, массив не нужен, можно так:

result = memoText.Replace("\r\n", "blabla\r\n");


 
Перебежчик   (2008-07-27 22:03) [6]

Твоя ошибка состоит в том, что ты надеешься после этого: > SL.Add(Text); получить текст в массиве уже разделённым по строкам.

Да, об этом я знаю.

result = memoText.Replace("\r\n", "blabla\r\n");

Пример сверху только для того, чтобы показать принцип из Delphi. Реально, каждая строка может обрабатываться некой ф-цией. Есть подозрение, что замена crlf с помощью Replace в этом случае не поможет.


 
Перебежчик   (2008-07-27 22:04) [7]

обрабатываться некой ф-цией

Как пример ф-ции - SL[I] := Trim(SL[I]);


 
Agent13 ©   (2008-07-27 22:10) [8]


> Да, об этом я знаю.

Так в чём тогда проблема? Из TextBox.Lines можно загонять строки в массив по одной.


 
Перебежчик   (2008-07-27 22:16) [9]

Из TextBox.Lines можно загонять строки в массив по одной.

ОК, а если это не TextBox, а string? :)


 
Перебежчик   (2008-07-27 23:04) [10]

Все получилось, всем спасибо



Страницы: 1 вся ветка

Текущий архив: 2008.09.21;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.024 c
2-1218439749
zivan
2008-08-11 11:29
2008.09.21
FocusRect


15-1217415402
Vlad Oshin
2008-07-30 14:56
2008.09.21
Скорее по администрированию. Как заставить ОС память всю есть?


15-1216973260
miek
2008-07-25 12:07
2008.09.21
NAT для безопасности сети


15-1217006131
Stan
2008-07-25 21:15
2008.09.21
Киноактер Пуговкин умер


15-1217501373
Nic from the WORK
2008-07-31 14:49
2008.09.21
Выбор ноутбука. Часть 3