Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.11.27;
Скачать: [xml.tar.bz2];

Вниз

Строковая функция.   Найти похожие ветки 

 
Митяй   (2003-11-06 18:58) [0]

Господа! Подскажите функцию (если таковая имеется), мне нужно из строки выделить последний символ.
В Access такая есть: Right, а здесь как быть?


 
Mike_Goblin   (2003-11-06 20:53) [1]

String - это массив символов, начальный индекс 1
var
MyStr:String;
begin
MyStr[1] ...
end;
последний элемент можно получить, зная длину строки (ф-ция Length)


 
Mike_Goblin   (2003-11-06 20:58) [2]

PS в самом Paradox такого нет, придеться тебе это делать на стороне клиента.


 
Dimaz-z   (2003-11-06 21:00) [3]

Str[Length(Str)]


 
Митяй   (2003-11-09 17:51) [4]

А если длина строки не известна, после запроса из базы данных она может быть разной длины.
Например: используя функцию COUNT в SQL.


 
Floppy   (2003-11-09 18:05) [5]

Var Ch: Char;

Ch:= Mystr[Length[Mystr]];


 
Anatoly Podgoretsky   (2003-11-09 18:20) [6]

Митяй © (09.11.03 17:51) [4]
А если длина известно, то нет нужды определять ее длину.


 
Митяй   (2003-11-14 16:40) [7]


> Anatoly Podgoretsky © (09.11.03 18:20) [6]
> Митяй © (09.11.03 17:51) [4]
> А если длина известно, то нет нужды определять ее длину.

Это шутка!?
Я же и говорю, откуда я могу знать, сколько записей будет завтра у пользователя в базе данных??


 
Плохиш_   (2003-11-14 16:50) [8]

>Митяй © (06.11.03 18:58)

> Господа! Подскажите функцию (если таковая имеется), мне
> нужно из строки выделить последний символ.
> В Access такая есть: Right, а здесь как быть?

>Митяй © (14.11.03 16:40) [7]

> Я же и говорю, откуда я могу знать, сколько записей будет
> завтра у пользователя в базе данных??


Ты сам сначала разберись, что тебе надо


 
Митяй   (2003-11-14 16:56) [9]


> Плохиш_ (14.11.03 16:50) [8


> Ты сам сначала разберись, что тебе надо

Да я то разобрался.
Мне нужно в SQL запросе выделить последний знак в строке, чтобы пользователь в наборе данных видел только последнюю циферку, и не более того.
Пример:
SELECT Count(*) From

Так вот в этом "Каунте", мне и нужно видеть последний знак.
Я ясно всё разъяснил?


 
VAleksey   (2003-11-14 17:04) [10]

А... так ты опять? Ну и скажи на милость, кто / что тебе мешает показать именно это "последнюю" циферку?
Вариантов масса и с запросом извращаться не самое эффективное.
TField.OnGetText, например, обработать.
PS
Млин, да прочти же хоть одну книгу по программированию на Delphi!


 
Digitman   (2003-11-14 17:06) [11]


> выделить последний знак в строке


Агр.ф-ция Count() возвращает не строковое, а целочисленное значение.


 
Anatoly Podgoretsky   (2003-11-14 17:09) [12]

Для этого нет нужды превращать в строку, достаточно вспомнить начальную математику - остаток от деления. Зачем только нужна последняя цифра из количества преположить не могу.


 
Digitman   (2003-11-14 17:12) [13]


> Anatoly Podgoretsky


угу.. с математикой нонче туго у народонаселения)


 
Митяй   (2003-11-14 17:16) [14]


> VAleksey © (14.11.03 17:04) [10]
> А... так ты опять? Ну и скажи на милость, кто / что тебе
> мешает показать именно это "последнюю" циферку?
> Вариантов масса и с запросом извращаться не самое эффективное.
> TField.OnGetText, например, обработать.
> PS
> Млин, да прочти же хоть одну книгу по программированию на
> Delphi!

Уважаемый!
У меня шесть книг по Delphi, и три по базам данных, и я с удовольствием и с упоением их изучаю, потому как мне это интересно, и если что и спрашиваю у Вас, так только потому, что не могу найти ответа на свой вопрос.
С уважением, Митяй.


 
Fay   (2003-11-14 17:24) [15]

Продай книги - найми негра, который будет на F1 жать..
Удачи.


 
Митяй   (2003-11-14 17:25) [16]


> Anatoly Podgoretsky © (14.11.03 17:09) [12]
> Для этого нет нужды превращать в строку, достаточно вспомнить
> начальную математику - остаток от деления. Зачем только
> нужна последняя цифра из количества преположить не могу.

На счёт математики я как то не подумал.
А цифра мне последняя нужна:
Программа для салона красоты, в ней ведётся учёт посещения клиентов, и каждая десятая улуга льготная, нужно чтобы пользователь не видел общее количество записей, т.е. если "0", то она(услуга) льготная.


 
Митяй   (2003-11-14 17:29) [17]


> Fay (14.11.03 17:24) [15]
> Продай книги - найми негра, который будет на F1 жать..
> Удачи.

Да чё Вы изголяетесь, на х.... тогда этот форум создан, чтобы Ваши умозаключения вычитывать, я Вас всех уважаю, и прошу должного обращения к таким как я!!!


 
VAleksey   (2003-11-14 17:36) [18]

Так ты того ... Запоминай иногда, что ты там прочитываешь.


 
esVer   (2003-11-14 20:42) [19]


> Да чё Вы изголяетесь, на х.... тогда этот форум создан,
> чтобы Ваши умозаключения вычитывать, я Вас всех уважаю,
> и прошу должного обращения к таким как я!!!


Дима, вроде взрослый человек, а культуры поведения ноль...

Для того чтобы получить нужный ответ, необходимо правильно задать вопрос.

with MyQuery do
begin
SQL.Text:="SELECT Count(*) as CNT From MyTable";
Open;
i:=FieldByName("CNT").AsInteger;
Close;
if ((i mod 10) =0)and(i>0) then
ShowMessage("Скидка!!!");
end;


Это один из вариантов.
Почитайте книгу по БД.


 
Black King   (2003-11-14 23:46) [20]

S:String;

with MyQuery do
begin
SQL.Text:="SELECT Count(*) as CNT From MyTable";
Open;
S:=FieldByName("CNT").AsString;
Close;
If S[Length(S-1)]="0" then {S ili S-1 to4no ne pomnju, nado proverjat", a neohota :o) }
ShowMessage("Скидка!!!");
end;

vot tebe vtoroj variant.


 
esVer   (2003-11-14 23:59) [21]

2 Black King
Это неправильно поскольку нет проверки на длину строки.

If (Length(S)>1) and S[Length(S)]="0" then
ShowMessage("Скидка!!!");


>1, т.к. не должно быть равным 0


 
Palladin   (2003-11-15 07:02) [22]


> Митяй © (14.11.03 17:29) [17]

Слушай, несчастное ты существо, прочитав хотя бы одну главу хотя бы самой захудалой книженки по паскалю ты бы обнаружил две приятные для себя вещи: Первое это то, что со строками можно работать как с массивами символов (если конечно слово массивы для тебя знакомо и наполнено смыслом), ну а второе это то что Length() возвращает длинну строки. И еще одно понимание, важное для тебя в будущем - к сожалению на форуме, особенно на этом, не стоит возмущатся и высказывать свои мнения по поводу его целей и задач. Безпричинные высказывания здесь встречаются редко.


 
Anatoly Podgoretsky   (2003-11-15 11:52) [23]

А что такое массивы?
Ему вообще не нужны строковые функции, у него счетчик!!!
Ну а математику как он сказал знает, это означает, что он в вашей помощи не нуждается, а сюда он пришел просто потрепаться, посмотреть какие вы.


 
Митяй   (2003-11-18 16:32) [24]


> Anatoly Podgoretsky © (15.11.03 11:52) [23]
> А что такое массивы?
> Ему вообще не нужны строковые функции, у него счетчик!!!
> Ну а математику как он сказал знает, это означает, что он
> в вашей помощи не нуждается, а сюда он пришел просто потрепаться,
> посмотреть какие вы.

Спасибо за поддержку!!!
С уважением, Митяй.



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

Форум: "Основная";
Текущий архив: 2003.11.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.008 c
14-90102
Nick Denry
2003-11-01 13:14
2003.11.27
Кросплатформенность... ;-)


3-89679
lovres
2003-11-06 09:26
2003.11.27
Как подключиться к Paradox-таблице без BDE?


4-90164
Davinchi
2003-10-04 14:38
2003.11.27
Завершение работы приложения


14-90070
aVast
2003-11-05 14:32
2003.11.27
а знаете ли вы что такое DELPHI?


14-90119
Andrey V.
2003-11-04 07:16
2003.11.27
Интегрированный звук - суксь





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский