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

Вниз

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

 
Sandman   (2009-02-25 16:22) [0]

так. Имеется много строк такого формата.
01.02.2007 14:50:45

Но так же попадаются и 01.02.2007 9:50:45

Нужно именно вытащить из "Времени" минуты. то есть эту цифру 50.
Думал вытащить типо r[15]+r[16] но как я уже говорил в строках иногда разнятся колво символов.
Как еще можно сделать?


 
Palladin ©   (2009-02-25 16:25) [1]

1. Изучить базовые функции Паскаля, предназначенные для работы со строками
2. Применить голова
3. Написать нужный код


 
Медвежонок Пятачок ©   (2009-02-25 16:29) [2]

Думал вытащить типо r[15]+r[16] но как я уже говорил в строках иногда разнятся колво символов.

посмотреть что за символ там лежит и сделать if then else


 
Ega23 ©   (2009-02-25 16:32) [3]

if (r[16]==":") {
 return r[14] + r[15];
} else {
 return r[15] + r[16];
}


 
Сергей М. ©   (2009-02-25 16:33) [4]


> то есть эту цифру 50.


1. 50 - это не цифра, а число.
2. Это число всегда представлено двумя последними непробельными символами в строке, вне зависимо от длины строки.

Ни на какие мысли не наводит это ?)


 
Denis__ ©   (2009-02-25 16:58) [5]


> 2. Это число всегда представлено двумя последними непробельными
> символами в строке, вне зависимо от длины строки.

Последние - это секунды получатся:)


 
Сергей М. ©   (2009-02-25 17:02) [6]

Тьфу ..
Ну не суть как важно)
Минуты всегда на 3-й и 4-й позиции с конца в отрайттримленной строке)


 
Юрий Зотов ©   (2009-02-25 17:05) [7]

> Sandman   (25.02.09 16:22)

Подстрока между первым и вторым двоеточиями - это то, что Вам нужно.

В справке Вы найдете функции Pos, Delete и Copy. Остальное должны придумать и сделать сами. Если не получится - меняйте занятие.


 
NieL ©   (2009-02-25 17:39) [8]

Все намного проще:


implementation

uses DateUtils;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

 function GetMinute(s: string): Integer;
 begin
   Result := MinuteOf(StrToDateTime(s));
 end;

begin
 ShowMessageFmt("%d", [GetMinute("01.02.2007 14:50:45")]);
 ShowMessageFmt("%d", [GetMinute("01.02.2007 9:50:45")]);
end;


 
Юрий Зотов ©   (2009-02-25 17:42) [9]

> NieL ©   (25.02.09 17:39) [8]

Что будет, если запустить под английской локализацией системы?


 
NieL ©   (2009-02-25 17:56) [10]


> Что будет, если запустить под английской локализацией системы?


А где ты видишь дату в формате под английскую локализацию?
Автор явно указал:

> Имеется много строк такого формата.01.02.2007 14:50:45


 
Palladin ©   (2009-02-25 18:01) [11]


> NieL ©   (25.02.09 17:56) [10]

1. Еще не дорос до тыкания.
2. Кто сказал даты сформированны именно на этой машине и именно с локацией этой машины?


 
Юрий Зотов ©   (2009-02-25 21:08) [12]

> NieL ©   (25.02.09 17:56) [10]

В том-то и дело, что в исходной строке локализация русская, а парситься она должна на машине с ЛЮБОЙ локализацией. Поэтому StrToDate может "в лоб" и не прокатить, сначала формат выставить нужно (если еще можно).


 
Юрий Зотов ©   (2009-02-25 21:11) [13]

> NieL ©   (25.02.09 17:56) [10]

И по той же причине, если ТОЧНО известно, что в исходной строке разделитель времени ВСЕГДА двоеточие, то проще не заморачиваться с форматами, а использовать Pos-Delete-Pos-Copy.


 
MsGuns ©   (2009-02-25 22:07) [14]

Тень от безвозвратно утерянного телепатора шепчет мне, что эти строчки не с бодуна, а возвращены неким запросом :)
А если так, что изучать надо не паскаль, а сиквель :ь


 
Sandman   (2009-02-26 00:17) [15]

Все. Спасибо всем!!!
Разобрался.


 
Sandman   (2009-02-26 00:19) [16]

там да по запросу беру с таблицы кучку дат. И с ними работаю уже


 
brother ©   (2009-02-26 05:37) [17]

> там да по запросу беру с таблицы кучку дат

тогда согласен с [12], очень возможны "грабли" в будущем



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

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

Наверх




Память: 0.5 MB
Время: 0.019 c
2-1234868786
b@v
2009-02-17 14:06
2009.04.12
Вывод изображения


8-1192470895
Jimmy
2007-10-15 21:54
2009.04.12
Wmf, SetWorldTransform и МеtaFileCanvas


2-1235307235
Sfinx
2009-02-22 15:53
2009.04.12
Отображение кнопки на панели задач.


15-1234187406
321
2009-02-09 16:50
2009.04.12
Докеры


2-1233807493
SyS
2009-02-05 07:18
2009.04.12
В запросе прибавить к дате число через параметр