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

Вниз

как в строке отрезать последние три символа?   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.054 c
1-1144736408
Sergg
2006-04-11 10:20
2006.05.21
Вызов подсказки по надобности


2-1147014841
AlexanderMS
2006-05-07 19:14
2006.05.21
XP Manifest


4-1141286570
Maloric
2006-03-02 11:02
2006.05.21
Drag&Drop из Edit


2-1146410086
Officeman
2006-04-30 19:14
2006.05.21
Сортировать числа от "min" к "max" (или наоборот)


2-1146665445
Елизавета
2006-05-03 18:10
2006.05.21
Подскажите где взять иконки