Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2007, 21:39   #1
kayman
Пользователь
 
Регистрация: 10.09.2007
Сообщений: 29
По умолчанию Увеличение размера поля

Здравствуйте, подскажите как мне увеличить программно размер поля (т. е. изначально есть БД в которой размер поля 6 символов, а мне надо 8 символов для вставки 2-х символов ':' , как бы для лучшей видимости , что это время) :
Вот код:
procedure ...;
var
s: string;
ss: String;
begin
while Not Q.Eof do begin
s:= Q.FieldByName('TIME').AsString;
if pos(':', s)>0 then break;
ss:= Copy(s, 1, 2)+':'+Copy(s, 3, 2)+':'+Copy(s, 5, 2);
q.Edit;
q.FieldByName('TIME').AsString := ss;
q.Post;
q.Next;
end;
end;

Его результат : поле в таком виде (пример) '12:30:'
А 2 символа секунд исчезает! Подскажите пожалуйста, заранее благодарен!
kayman вне форума Ответить с цитированием
Старый 15.10.2007, 21:50   #2
AlDelta
Реанимируюсь...
Участник клуба
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Сообщений: 1,445
Сообщение

http://programmersforum.ru/showthread.php?t=7716

Ничто не ограничивает полет мысли программиста, как компилятор...
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"
AlDelta вне форума Ответить с цитированием
Старый 15.10.2007, 22:02   #3
kayman
Пользователь
 
Регистрация: 10.09.2007
Сообщений: 29
По умолчанию

А дрругого варианта нет , кроме того что написал Mihali ?
kayman вне форума Ответить с цитированием
Старый 15.10.2007, 23:16   #4
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

я вапще этим не пользовался и на счет сохранности данных не знаю, но разве Alter table может данные убить?
ЗЫ. время лучше и хранить как время, а не строку
pu4koff вне форума Ответить с цитированием
Старый 16.10.2007, 11:01   #5
kayman
Пользователь
 
Регистрация: 10.09.2007
Сообщений: 29
По умолчанию

Просто мне многие советую через Alter Table, а я не могу найти формат команды . А насчет "лучше время хранить" , у меня изначально была строка , но я ее вырезкой (Copy) преобразовал во время. А теперь нужно вставить ':' , чтобы глаза не болели !?
kayman вне форума Ответить с цитированием
Старый 16.10.2007, 22:21   #6
MikelNight
 
Аватар для MikelNight
 
Регистрация: 29.09.2007
Сообщений: 4
Сообщение Изменить структуру таблицы ALTER TABLE

Лучше изменить структуру таблицы.

Если еще интересна команда ALTER TABLE Описание команды.
1) Формат команды ALTER TABLE
- вообще может зависить от конкретной СУБД.
Но в целом так (в MySQL - точно работает так):

Добавление колонки.
alter table <имя таблицы>
add <имя поля> <тип поля>;

Пример
alter table mycar add color1 int;

Изменение имени и типа колонки.
alter table <имя таблицы>
change <имя поля> <новое имя поля> <новый тип поля>;

alter table mycar change color1 color2 varchar(20);

Удаление колонки.
alter table <имя таблицы>
drop <имя поля>;

alter table mycar drop color2;


2) Лучше не использовать конкатенацию строк
при работе со строкой - временем.

Поскольку не обязательно дата будет в формате
12:30 (то есть двоеточие)
может быть и, к примеру,
12.30

Действие:

Пуск - Настройка - Панель управления - Язык
и региональные стандрарты.

На закладке "Региональные параметры" нажать
на кнопку "Настройка".

В окне на закладке "Время" указывается

Формат времени H:mm:ss
H - 24-часовой формат суток
h - 12-часовой формат суток.

Разделитель компонентов времени
:


Самое обидное, что эти параметры можно изменить,
а значит просто конкатенировать строки,
если кто-то очень шустрый изменит разделитель,
не получится.

У меня была аналогичная проблема с дробными числами.
У многих людей разделитель ","
но есть и "."
MikelNight вне форума Ответить с цитированием
Старый 16.10.2007, 22:35   #7
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от MikelNight Посмотреть сообщение
Самое обидное, что эти параметры можно изменить,
а значит просто конкатенировать строки,
если кто-то очень шустрый изменит разделитель,
не получится.

У меня была аналогичная проблема с дробными числами.
У многих людей разделитель ","
но есть и "."
1. Региональные параметры, как и многие другие вещи, можно задавать при создании главной формы;
2. Согласитесь, что провести при вводе числа с плавающей запятой проверку и заменить, допустим, запятую на десятичную точку вам не составит труда.
mihali4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Зорька – увеличение прибыли с сайта. Офиц. дилер Бегуна Zorkabiz Свободное общение 6 11.09.2008 18:58
Увеличение и уменьшение картинок zzzzz Мультимедиа в Delphi 2 30.08.2008 20:53
Два размера фаила Иллидан Безопасность, Шифрование 1 09.03.2008 00:13
Пропорциональное увеличение Роман Радер Мультимедиа в Delphi 1 02.04.2007 12:22
Увеличение, уменьшения Bitmap Mickle Общие вопросы Delphi 4 28.03.2007 18:04