Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
4-1140876533
sco
2006-02-25 17:08
2006.05.21
Подождать закрытия другой программы


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


2-1146213563
Новенький
2006-04-28 12:39
2006.05.21
Копия фрейма в приложении


8-1134990308
plotn
2005-12-19 14:05
2006.05.21
Склеить 2 wavа или 2 mp3.


15-1145959777
Yuri Btr
2006-04-25 14:09
2006.05.21
Прочитать RTF формат





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский