Вверх ↑
Этот топик читают: Гость
Ответов: 3851
Рейтинг: 159
#151: 2009-04-22 23:57:01 ЛС | профиль | цитата
это я конечно образно выразился, про 64 бита понятно - на первое время хватит ..
карма: 0
начавший
0
Ответов: 16884
Рейтинг: 1239
#152: 2009-04-23 12:03:34 ЛС | профиль | цитата
nesco писал(а):
Pirr, ну так давай дальше продолжим. Предположим, у меня есть MySQL-Administrator, а где мне сервер искать на локальном компе (вот геморрой, еще тот)
Кулинарный совет №1 писал(а):
Если у Вас нет мясорубки - попробуйте продавить мясо через дуршлаг

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 409
Рейтинг: 17
#153: 2009-04-23 21:51:24 ЛС | профиль | цитата
Уууу... сколько шума из-за ничего!
Даже и недумал, что вызову такую волну.
У каждой БД - свое применение и назначение.
Разницы между SQLite и MySQL - очень много, и дело тут даже не в скорости или размере. Взять хотябы, что в MySQL - правами доступа распоряжается MySQL-сервер а в SQLite - на уровне файловой системы, т.е. другими словами БД SQLite - это просто файл (такой же как dbf, Exel, ACCESS) к которому можно обращатся через полноценные SQL запросы.
Для меня например SQLite никак не подходит, у меня сетка с огромным количеством пользователей разбросанных по всей стране... и расшаривать какой либо ресурс для доступа к файлу с базой - никак нельзя. Плюс мне нужна двухсторонняя синхронизация между удаленными серверами баз данных.

nesco - установи MySQL сервер (версии 5.х.х) затем к нему поставь SQL Administrator (так и называется, погугли - найдеш), зайди в администратора в левой колонке выбири Restore -> Open Backup File -> выбири файл с расширением sql - произойдет восстановление базы данных. Это аналог действия в SQLite - sqlite3.exe baze.db < baze.sql.

Лучше подскажите как мне получить текущую дату и отнять от неё 1 месяц или 31 день?
карма: 0

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#154: 2009-04-24 13:45:51 ЛС | профиль | цитата
Pirr писал(а):
Лучше подскажите как мне получить текущую дату и отнять от неё 1 месяц или 31 день?


Вот так, но с вычитанием месяца я не отимизировал, может кто дооптимизирует. У нас Tad мастак по этой части


Add(MainForm,2953706,112,133)
{
Width=429
}
Add(Edit,15537034,329,252)
{
Left=250
Top=20
Width=160
Text=""
}
Add(Edit,487670,329,196)
{
Left=10
Top=20
Width=160
Text=""
}
Add(Edit,1612178,322,560)
{
Left=250
Top=50
Width=160
Text=""
}
Add(Button,6889523,112,252)
{
Left=175
Top=20
Width=70
Caption="- 31 день"
link(onClick,11843510:doOperation,[])
}
Add(Button,3783486,112,308)
{
Left=175
Top=50
Width=70
Caption="- 6 месяцев"
link(onClick,16211637:doEvent1,[])
}
Add(Time,8139752,203,133)
{
Format="D-M-Y h:m:s"
Point(DateTime)
}
Add(Timer,13997692,112,196)
{
link(onTimer,6470129:doConvert,[])
}
Add(Math,11843510,210,252)
{
OpType=1
Op2=31
link(onResult,5026686:doConvert,[])
link(Op1,14392089:Var2,[])
}
Add(DateConvertor,5026686,273,252)
{
Mode=9
link(onResult,15537034:doText,[])
}
Add(DateConvertor,12245655,217,308)
{
Point(Data)
Point(Year)
Point(Month)
Point(Day)
Point(Hour)
Point(Minute)
Point(Second)
link(Data,14392089:Var3,[(223,240)])
}
Add(GetDataEx,14392089,203,231)
{
link(Data,12980911:Var2,[])
}
Add(Hub,16211637,168,308)
{
OutCount=3
link(onEvent1,12245655:doConvert,[])
link(onEvent2,10517987:doOperation,[(203,321)(203,454)])
link(onEvent3,16135578:doAdd,[(195,328)(195,566)])
}
Add(Math,10517987,224,448)
{
OpType=1
Op2=6
ResultType=0
link(onResult,15278398:doCompare,[])
link(Op1,12245655:Month,[])
}
Add(MT_AddData,16135578,217,560)
{
Count=6
link(onAdd,6194514:doConvert,[])
link(Data1,3181257:Value,[(223,520)(475,520)])
link(Data2,6979343:Value,[(230,527)(608,527)])
link(Data3,12245655:Day,[])
link(Data4,12245655:Hour,[])
link(Data5,12245655:Minute,[])
link(Data6,12245655:Second,[])
}
Add(DateConvertor,6194514,273,560)
{
Mode=5
link(onResult,1612178:doText,[])
}
Add(DateConvertor,6470129,273,196)
{
Mode=9
Point(Data)
link(onResult,487670:doText,[])
link(Data,12980911:Var3,[(279,184)])
}
Add(GetDataEx,12980911,203,175)
{
link(Data,8139752:DateTime,[])
}
Add(Memory,3181257,469,448)
{
}
Add(If_else,15278398,273,448)
{
Type=4
Op2=Integer(1)
link(onTrue,2701597:doEvent1,[(316,454)(316,419)])
link(onFalse,377064:doOperation,[])
}
Add(Math,377064,322,455)
{
OpType=1
Op2=1
ResultType=0
link(onResult,10534102:doEvent1,[])
link(Op1,9303173:Var2,[])
}
Add(HubEx,13164612,392,441)
{
link(onEvent,16267154:doWork2,[])
}
Add(GetDataEx,9303173,315,364)
{
Angle=3
link(Data,12245655:Year,[(223,373)])
}
Add(Memory,6979343,602,462)
{
}
Add(Hub,10534102,364,455)
{
link(onEvent1,13164612:doWork3,[(396,461)])
link(onEvent2,16111886:doOperation,[])
}
Add(DoData,11640749,504,420)
{
link(onEventData,14850992:doWork1,[(585,426)])
link(Data,12318162:Var2,[])
}
Add(Hub,2701597,364,413)
{
OutCount=3
link(onEvent1,16463085:doData,[])
link(onEvent2,11640749:doData,[])
link(onEvent3,13164612:doWork1,[(396,433)])
}
Add(HubEx,14850992,581,455)
{
link(onEvent,6979343:doValue,[])
}
Add(DoData,16463085,406,413)
{
link(onEventData,16267154:doWork1,[(452,419)])
link(Data,9303173:Var3,[(412,373)])
}
Add(HubEx,16267154,448,441)
{
link(onEvent,3181257:doValue,[])
}
Add(Math,16111886,539,462)
{
Op2=12
ResultType=0
link(onResult,14850992:doWork2,[])
link(Op1,12318162:Var3,[(545,394)])
}
Add(GetDataEx,12318162,497,385)
{
Angle=3
link(Data,10517987:Result,[(343,394)(343,503)(230,503)])
}
карма: 22

0
Ответов: 171
Рейтинг: 19
#155: 2009-04-24 17:44:34 ЛС | профиль | цитата
Pirr писал(а):
Лучше подскажите как мне получить текущую дату и отнять от неё 1 месяц или 31 день?

Проще это делать средствами тойже mysql, вот так

#sql
SELECT INTERVAL -1 MONTH + current_date
или с форматированием

#sql
SELECT DATE_FORMAT( INTERVAL -1 MONTH + current_date, '%d.%m.%Y' )
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#156: 2009-04-24 17:51:40 ЛС | профиль | цитата
Pirr, вот так можно отнимать дни.
code_12980.txt
Отнимать Дни (месяцы,годы) не обязательно в программе, проще запросами к БД.
Если у тебя есть открытая БД, то запрос типа

SELECT date(current_date, '-1 month') 
выдаст тебе то что ты хочешь. Единственное условие - не переборщи с пробелами. Именно '-1 days', '+6 month' (между знаком +- и цифрой пробела не должно быть, между цифрой и словом - один пробел ' (для SQLite)
------------ Дoбавленo в 17.52:
Borka, опередил

------------ Дoбавленo в 18.12:
P.S. Кстати о птичках. SELECT-ом можно очень много вычислений делать и не только с датами.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_12980.txt [1.1KB] [229]
Ответов: 409
Рейтинг: 17
#157: 2009-04-24 20:23:05 ЛС | профиль | цитата
Спасибо за ответы.
Вот сказывается во мне отсутствие программерского представления.
Мне надо было сделать выборку из базы за последний месяц, вот я и решил вычислить текущую дату минус один месяц а затем сделать выборку указав SELECT date => "дата".
Оказалось не все так просто... а очень просто
Порылся в книгах и нашол замечательную формулу SELECT * FROM table WHERE TO_DAYS(NOW()) - TO_DAYS(date) <= 31

Подскажите:
1. Можно ли из MTStrTbl - сделать выгрузку в файл? В других таблицах были точки для этого,а здесь я не нашол.
2. Покажите как распечатать таблицу, желательно MTStrTbl? Пример в Examples с распечатыванием смотрел, но так и не понял, как данные попадают на страницу печати.
3. Мне так и неудалось задать определенную ширину столбцов. Если я пользуюсь точкой "Указатель на компонент" - неужели нельзя както задать ширину и высоту столбцов?
карма: 0

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#158: 2009-04-24 21:38:59 ЛС | профиль | цитата
Pirr писал(а):
Можно ли из MTStrTbl - сделать выгрузку в файл?

Можно, на дискретных элементах.
Pirr писал(а):
Покажите как распечатать таблицу, желательно MTStrTbl?

Тут я пас, у меня нет принтера
Pirr писал(а):
Мне так и неудалось задать определенную ширину столбцов

А что, их размер заранее нельзя установить С указателем на компонент работать таблица не будет нормально. Стяни нормальный дайвер ODBC к MySQL и попробуй подключить DS_OLEDB или DS_ODBC через строку подключения. ЕМНИП, Nic этим занимался, его надо мучить.
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#159: 2009-04-24 21:47:28 ЛС | профиль | цитата
nesco, вообще говоря было бы не дурно к таблице приделать менеджера для ее печати - задача достаточно популярная. С помощью "Печать документов" это конечно тоже можно делать, но менее удобно если данные изначально лежали в MTStrTbl.
карма: 27
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#160: 2009-04-24 22:01:21 ЛС | профиль | цитата
Dilma писал(а):
вообще говоря было бы не дурно к таблице приделать менеджера для ее печати

Вот только принтера у меня нет, а на эмуляторах я уже пролетал не раз
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#161: 2009-04-24 22:13:01 ЛС | профиль | цитата
nesco писал(а):
Вот только принтера у меня нет

а и не нужен. Достаточно сделать по аналогии скажем с Img_Diagram. А уж остальное доделаем... Собственно задача простая - вывести все ячейки через DrawText с геометрическими параметрами, снятыми с самой таблицы. Можно в менеджере предоставить выбор шрифта ячеек и заголовков колонок, цвета заливки и бордюров... Хотя и без этого помоему такой возможности будет достаточно для покрытия большинства задач (в конце концов для фильдиперсовых таблиц у нас есть WebBrowser)
карма: 27
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#162: 2009-04-24 22:18:38 ЛС | профиль | цитата
Dilma писал(а):
вывести все ячейки через DrawText с геометрическими параметрами, снятыми с самой таблицы

Те сделать, как бы, графический предпросмотр с выводом на экран
карма: 22

0
Ответов: 409
Рейтинг: 17
#163: 2009-04-24 22:55:06 ЛС | профиль | цитата
nesco писал(а):
Можно, на дискретных элементах.

Может задам глупый вопрос... но что такое дискретные элементы?

nesco писал(а):
Тут я пас, у меня нет принтера

А у меня как раз лишний лазерник пылится, могу подарить

nesco писал(а):
Стяни нормальный дайвер ODBC к MySQL

Драйвер не проблема, просто из всех элементов баз данных - MySQL самый подходящий.
А если уж пользоваться ODBC - то и СУБД лучше поменять на Firebird (для небольших проектов) и Oracle (для огромных).

nesco писал(а):
Те сделать, как бы, графический предпросмотр с выводом на экран

Да, да... это было бы круто, и чтобы показывал количество распечатываемых страниц... а то таблицы большими бывают.
--------------------------------------------------------------------------------------

Вот еще вопрос забыл задать: у меня есть поле ввода, в нем указывается фамилия, имя, отчество (полностью) - как разбить полученный текст на три отдельных слова? Мне нужно произвести проверку на совпадение только фамилии, ну и по инициалам желательно, но для этого от имени и отчества нужно взять по первой букве.
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#164: 2009-04-24 23:36:06 ЛС | профиль | цитата
nesco писал(а):
Те сделать, как бы, графический предпросмотр с выводом на экран

ну у нас же так вся печать сделана...

Pirr писал(а):
и чтобы показывал количество распечатываемых страниц

а вот это уже сложнее... для этого надо вводить в элемент печати информацию о формате листа и отступах

Pirr писал(а):
как разбить полученный текст на три отдельных слова?

code_12982.txt


nesco, кстате еще один вариант есть - делать экспорт таблицы в HTML. Вопрос с печатью решается, но взамен имеем усложнение самой процедуры...
карма: 27
0
файлы: 1code_12982.txt [671B] [270]
Ответов: 485
Рейтинг: 86
#165: 2009-04-25 00:03:21 ЛС | профиль | цитата
Pirr писал(а):
как разбить полученный текст на три отдельных слова?
Если обновлялся с SVN, тогда так можно:
code_12983.txt
Если нет, тогда в схеме Dilma (code_12982.txt) в MT_String свойство Delimiter подправить с ";" на пробел.
карма: 0

0
файлы: 1code_12983.txt [771B] [181]
Сообщение
...
Прикрепленные файлы
(файлы не залиты)