Форум: "Начинающим";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];
Внизкак в строке отрезать последние три символа? Найти похожие ветки
← →
Mark86rus © (2006-04-28 21:30) [0]В общем прога забирает инфу с сайта ! но после вывода ее в мемо в конце предложения появляются три знака "ентер" (маленькие квадратики)! Как их отрезать?
///-----вот тело проги
type
TConvertChars = array[ #128..#255] of char;
TForm1 = class(TForm)
TcpClient1: TTcpClient;
Memo1: TMemo;
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
const
Koi: Array[0..66] of Char = ("T", "Ё", "ё", "А", "Б", "В", "Г", "Д", "Е", "Ж",
"З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р",
"С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ",
"Ы", "Ь", "Э", "Ю", "Я", "а", "б", "в", "г", "д",
"е", "ж", "з", "и", "й", "к", "л", "м", "н", "о",
"п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш",
"щ", "ъ", "ы", "ь", "э", "ю", "я");
Win: Array[0..66] of Char = ("ё", "Ё", "T", "ю", "а", "б", "ц", "д", "е", "ф",
"г", "х", "и", "й", "к", "л", "м", "н", "о", "п",
"я", "р", "с", "т", "у", "ж", "в", "ь", "ы", "з",
"ш", "э", "щ", "ч", "ъ", "Ю", "А", "Б", "Ц", "Д",
"Е", "Ф", "Г", "Х", "И", "Й", "К", "Л", "М", "Н",
"О", "П", "Я", "Р", "С", "Т", "У", "Ж", "В", "Ь",
"Ы", "З", "Ш", "Э", "Щ", "Ч", "Ъ");
implementation
{$R *.dfm}
Function KoiToWin(Str: string): string;
var
i, j, Index: Integer;
Begin
Result := "";
For i := 1 to Length(Str) do
Begin
Index := -1;
For j := Low(Win) to High(Win) do
If Koi[j] = Str[i] Then
Begin
Index := j;
Break;
End;
If Index = -1
Then Result := Result + Str[i]
Else Result := Result + Win[Index];
End;
End;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
TcpClient1.connect;
memo1.Lines.Clear;
memo1.Lines.Add(TcpClient1.Receiveln());
memo1.Text:=KoiToWin(memo1.Text);
TcpClient1.Disconnect;
end;
end.
← →
Anatoly Podgoretsky © (2006-04-28 21:31) [1]Delete/Setlength/Copy
← →
Mark86rus © (2006-04-28 21:34) [2]а конкретней!
← →
Юрий Зотов © (2006-04-28 22:08) [3]> Mark86rus © (28.04.06 21:34) [2]
Куда ж еще конкретнее? Все уже сказано, осталось только F1 нажать.
← →
Mark86rus © (2006-04-29 00:37) [4]Все сделал! вот такую строку надо было
Memo1.Text:=copy(memo1.text, 0, length(memo1.text)-5);
,где -5 в моем случае срезание с конца 3-х "ентеров"!!!
всем кто помогал спасибо!
тему мона закрывать!
← →
Германн © (2006-04-29 01:38) [5]
> Mark86rus © (29.04.06 00:37) [4]
>
> Все сделал! вот такую строку надо было
>
> Memo1.Text:=copy(memo1.text,0, length(memo1.text)-5)
Да уж! Метод "тыка" процветает.
Тут уж и ноль и пять!
Ну а скорее всего - двойка по предмету. ИМХО.
← →
Mark86rus © (2006-04-29 02:31) [6]да нет не метод "тыка" как ты это называешь! Тебе что объяснить почему 0 и 5 стоит?
1) 0-потому что в начеле предложения мне ничего вырезать не надо.
2) -5-потому что от исходного текста отрежет 2 последних пробела и ентеры от которых и хотел избавиться!
терь ты понял, что твой метод тыка тут не катит!!!
← →
Германн © (2006-04-29 02:46) [7]
> терь ты понял, что твой метод тыка тут не катит!!!
Не, не понял. :-(
> 1) 0-потому что в начеле предложения мне ничего вырезать
> не надо.
Слава богу! А то ты там бы так "навырезовал"!
> 2) -5-потому что от исходного текста отрежет 2 последних
> пробела и ентеры от которых и хотел избавиться!
И как это совместить с твоими же словами
> где -5 в моем случае срезание с конца 3-х "ентеров"!!!
← →
Mark86rus © (2006-04-29 03:11) [8]написав то что я хотел срезать 3 ентера с конца я просто не посчитал нужным писать что там есть еще 2 пробела! Ну сам посуди: если ты понял или подсказали как срезать одно значение, то насколько надо быть тупым чтобы не понять как срезать больше значений!? а срезать с начала строки можно, если только она не изменяется. Если она меняется , то подогнав срезку под одно значение , невозможно быть уверенным, что новое значение будет такой же длинны!
Терь понял!? Или ты решил меня проверить???
← →
Loginov Dmitry © (2006-04-29 08:35) [9]Похоже, автор считает, что при нуле происходит копирование, иначе - вырезание.
А F1 помог бы, ИМХО.
← →
Плохиш © (2006-04-29 11:39) [10]
> Mark86rus © (29.04.06 03:11) [8]
> Терь понял!? Или ты решил меня проверить???
По предмету 2.
PS. Нумерация в строках начинается с 1, а не с 0.
← →
Anatoly Podgoretsky © (2006-04-29 15:24) [11]F1 не поможет
← →
Mark86rus © (2006-04-29 15:57) [12]Какие же вы самовлюбленные!
Вместо развития уже оконченной темы , лучше бы другим помогали!
← →
Mark86rus © (2006-04-29 16:10) [13]
> Похоже, автор считает, что при нуле происходит копирование,
> иначе - вырезание.
Ты так и не понял! 0 стоит потому, что мне не надо вырезать сначала ни одного символа! Если ставить любое другое значение больше 0 то просто срезается текст в начале предложения!
← →
Zeqfreed © (2006-04-29 16:16) [14][13] Mark86rus © (29.04.06 16:10)
> Ты так и не понял!
Copy (даже если судить по названию и мыслить логически) копирует подстроку из строки, а не вырезает что бы то ни было. Второй параметр — номер символа (начиная с 1) в строке, начиная с которого будет произведено копирование подстроки. Третий — кол-во символов в копируемой подстроке.
← →
Mark86rus © (2006-04-29 16:24) [15]
> Zeqfreed
копирование из текста определенного значения разве не вырезка?!
вот и именно то, что я хотел скопировать тескт без последних символов!
← →
Asail (2006-04-29 16:44) [16]Правильно, кроме двух моментов:
1. Не 0, а 1 (это правильнее). Номера символов в строке начинаются с 1, а не с 0.
2. Копирование из текста определенного значения не вырезка, а копирование (т.к. не изменяется исходная строка). Разницу между виндовскими Copy и Cut улавливаешь?
← →
Asail (2006-04-29 16:45) [17]
> Вместо развития уже оконченной темы , лучше бы другим помогали!
Эту ветку читают и другие, так-что желательно, что-бы они не повторяли чужие ошибки.
← →
Mark86rus © (2006-04-29 16:54) [18]
> 1. Не 0, а 1 (это правильнее).
0 или 1 я не увидел разницы в полученных данных! тоесть он все принял нормально!
разницу я знаю не первый год!
А насчет того чтобы развивать эту тему, то да без проблем! Оставляйте предложения, коды! А "умников", которые кроме как прокоментировать что то ненужное прошу не лезть на эту тему
← →
Asail (2006-04-29 17:23) [19]
> тоесть он все принял нормально!
А он, в данном случае и -100 принял-бы нормально :-).
> кроме как прокоментировать что то ненужное прошу не лезть
> на эту тему
На сколько я видел, ИМХО, все коментарии относились к делу...
← →
antonn © (2006-04-29 18:26) [20]Mark86rus © (29.04.06 16:54) [18]
0 или 1 я не увидел разницы в полученных данных! тоесть он все принял нормально!
ну не смеши народ...
← →
Mark86rus © (2006-04-29 20:46) [21]Опять "умники" повылазили! Попробуй сам и поймешь, что разницы не произошло!
Есть предложение другого кода? пиши, буду рад, а если решил мозг компассировать, то не в ту тему включился!
← →
begin...end © (2006-04-29 20:50) [22]> Mark86rus
Хам.
← →
ЛшдлуттнСфе (2006-04-29 20:52) [23]procedure TForm1.Timer1Timer(Sender: TObject);
begin
TcpClient1.connect;
memo1.Lines.Clear;
memo1.Lines.Add(TcpClient1.Receiveln());
memo1.Text:=KoiToWin(memo1.Text);
TcpClient1.Disconnect;
end;
← →
Asail (2006-04-30 01:01) [24]
> Попробуй сам и поймешь, что разницы не произошло!
См. свой собственный пост:
> Mark86rus © (29.04.06 16:10) [13]
> 0 стоит потому, что мне не надо вырезать сначала ни одного
> символа! Если ставить любое другое значение больше 0 то
> просто срезается текст в начале предложения!
Так как-же все-таки при 1-це "срежется" первый символ или нет?.. Ты уж опредились - есть разница или нет.
> begin...end © (29.04.06 20:50) [22]
> > Mark86rus
>
> Хам.
А вообще, согласен
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.014 c