Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

HTML+JAVA или C++: что мне лучше использовать?

490
01 ноября 2007 года
frid-karatel
357 / / 15.09.2007
hp] + MySQL) или VCL + БД?

PS: интересует скорость, дизайн, удобство работы с БД, обновление через интернет, возможность гибкого переноса на другой компьютер
489
01 ноября 2007 года
NeO_u
277 / / 11.10.2006
скорость - смотря, что ты под этим понимаешь,т.е. для тебя одного или для большого кол-ва пользователей?
дизайн - помойму, более гибкий дизайн в HTML (php)
удобство работы с БД - в зависимости от требований..:-) т.е. для большого подключения одновременно намного лучше использовать Mysql + php
обновление через интернет - кому что отправлять собираешься?:-)
гибкого переноса - а зачем переносить?)

из моего опыта могу сказать, что лучше использовать Apache(php), если у тебя каталог будет доступен для оч. большого кол-ва пользователей. и если для тебя 1-10, то возможо будет проще все разослать клиента и пусть все коннектяться на сервер:-) опять же, с++ подразумевает наличие программы у клиента на машине...а apache, все делается на сервере.
5
02 ноября 2007 года
hardcase
4.5K / / 09.08.2005
А я бы на ASP.NET + SqlServer 2005 Express сделал.
Разрабатывается быстро (все описанное за вечерок склепать можно), к ресурсам не слишком требовательно, масштабируемость тоже хороша (ну, если правильно спроектировать).
Кроме того, можно на домашнем XP-шнике сайт держать.

Тоже самое можно сказать в отношении Java + Tomcat (или Sun App Sever) + какаянить база.
Технологии эквивалентны.
490
02 ноября 2007 года
frid-karatel
357 / / 15.09.2007
1. пользователь будет 1 только один, и подключений к базе только одно
2. важна скорость загрузки страницы с необходимой информацией
3. переносить есть необходимость, т.к. хочется сделать без зависимости к определенному компьютеру - на USB -Flash, скажем, закинуть...
4. Apache и MySQL надо использовать так, чтобы сервиса автоматически устанавливали все настройки и запускали сервисы, а при зарытии программы - все сворачивалось и удалялось...

короче программа-цирк - если концерт, то приехала и развернулась; если в другой город - свернулась и убралась :)
1
02 ноября 2007 года
kot_
7.3K / / 20.01.2000
Вариантов собственно не особо много. ИМХО. Либо разместить ресурс в Инете и обращаться кнему откуда угодно, либо использовать технологию эмбедед-серверов - на свой вкус и умение - и носить его на флешке куда угодно.
З.Ы.Вопросы "за жизнь" - как в прочем и подобные - лучше размещать в разделе Гостевая книга. Куда и перезжаем.
489
02 ноября 2007 года
NeO_u
277 / / 11.10.2006
Цитата: frid-karatel
1. пользователь будет 1 только один, и подключений к базе только одно
2. важна скорость загрузки страницы с необходимой информацией
3. переносить есть необходимость, т.к. хочется сделать без зависимости к определенному компьютеру - на USB -Flash, скажем, закинуть...
4. Apache и MySQL надо использовать так, чтобы сервиса автоматически устанавливали все настройки и запускали сервисы, а при зарытии программы - все сворачивалось и удалялось...

короче программа-цирк - если концерт, то приехала и развернулась; если в другой город - свернулась и убралась :)



Ну, тогда, на мой взгляд, лучше всего использовать С++ и в качестве БД dbf...минимальная зависимость по ресурсам, быстрая работа, обновление, вывод на экран итп. легко можно будет переносить куда угодно, т.е. не будет никаких зависимостей.:-)

490
03 ноября 2007 года
frid-karatel
357 / / 15.09.2007
а есть какие-нибудь небольшые примеры или исходники таких программ? чтобы дальше уже расширить и сделать под себя?
1
04 ноября 2007 года
kot_
7.3K / / 20.01.2000
Цитата: frid-karatel
а есть какие-нибудь небольшые примеры или исходники таких программ? чтобы дальше уже расширить и сделать под себя?


А что конкретно необходимо в примере? Как организовать динамическое подключение БД? Сложного ничего нет. Например этот фрагмент кода настраивает программу и подключает базу в зависимости от настроек реестра. В твоем случае просто будет необходимо переработать под твои условия - проверяя параметры динамически.

Код:
int __fastcall TfmMain::Initialize(){
//Получаем директорию для временных файлов - можно заменить на
//системную директорию.
 TmpDir =  ExtractFilePath(ParamStr(0))+"tmp\\";
 TRegistry *Reg = new TRegistry;
//Считываем параметры реестра - в твоем случае в этом необходимости нет
//вполне достаточно получить информацию о компьютере которая тебе
//действительно необходима - например список сетевых интерфейсов
//информацию о необходимых настройках - например инфу о названии файла
//БД, необходимых сервисах, и пр. можно хранить в XML-файле в папке программы
 
RegPath = "SOFTWARE\\MalKonSW\\nOTC\\settings";

//Отсутствует ветвь реестра
 if(!Reg->KeyExists(RegPath)) return 1;
 Reg->OpenKey(RegPath,false);
 Reg->WriteDate("paramis",Now());
 if(!Reg->ValueExists("dbpathnew")) return 2;
 PathDataBase = Reg->ReadString("dbpathnew");
 Servertmp = Reg->ReadString("Server");

 Provider = Reg->ReadString("Provider");
 Station = Reg->ReadInteger("station");
 Address = Reg->ReadString("address");
 Phone = Reg->ReadString("phone");

 Reg->CloseKey();
 RegPath = "SOFTWARE\\MalKonSW\\nOTC\\ftp";
 Reg->OpenKey(RegPath,false);
 FTPAddress = Reg->ReadString("address");
 FTPUser =  Reg->ReadString("user");
 FTPPass = Reg->ReadString("pass");
 FTPInDir = Reg->ReadString("in");
 FTPOutDir = Reg->ReadString("out");
 InDir =  ExtractFileDir(ParamStr(0))+"in\\";
 //Получаем имя компьютера
 char buffer[512];
  DWORD size = 512;
   GetComputerName(buffer,&size);
   dmMain= new TdmMain(this);
  TfmLogin *login = new TfmLogin(NULL);
try{
   login->ShowModal();
  if(login->ModalResult!=mrOk){
   delete dmMain;
   dmMain = NULL;
    Application->Terminate();
   return 2;
  }
SUser = login->edName->Text;
Pass = login->edPass->Text;

//Формируем строки подключения - у меня в данной версии использовалось
//две строки подключения. Зачем - хз. Не помню. :)
 WideString Connect = "Provider="+WideString(Provider)+";Password="+WideString(Pass)+";Persist Security Info=True;User ID="+WideString(SUser)+";Data Source="+WideString(Server)+";Extended Properties=\"AttachDBFileName="+WideString(PathDataBase)+"\";Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID="+WideString(buffer)+";Use Encryption for Data=False;Tag with column collation when possible=False;MARS Connection=False;DataTypeCompatibility=0;Trust Server Certificate=False";
 ConnectForClient = "Provider="+WideString(Provider)+";Password="+WideString(Pass)+";Persist Security Info=True;User ID="+WideString(SUser)+";Data Source="+WideString(Server)+";Initial Catalog="+WideString(PathDataBase)+";Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID="+WideString(buffer)+";Use Encryption for Data=False;Tag with column collation when possible=False;MARS Connection=False;DataTypeCompatibility=0;Trust Server Certificate=False";
//Дальше идет обработка начальной инфы - тут пишешь свое  - то что нужно тебе.
if(dmMain->adoConnect->Connected)dmMain->adoConnect->Connected = false;
 dmMain->adoConnect->ConnectionString = Connect;
 try{
 dmMain->adoConnect->Connected = true;
 dmMain->adoGetUserId->ExecProc();
 User = dmMain->adoGetUserId->Parameters->ParamByName("@userid")->Value;
 }
 catch(EOleException *exception)
    {
     //ShowMessage(exception->Message);
     //delete fmLogin;
     delete dmMain;
     dmMain = NULL;

     return 2;
    }
    cbSchema->AddItem("Все записи",(TObject*)new int(-1));
    dmMain->adoLoadSprcredit->Active=true;
    dmMain->adoLoadSprcredit->First();
    while(!dmMain->adoLoadSprcredit->Eof)
    {
     AnsiString s=dmMain->adoLoadSprcredit->FieldByName("creditname")->AsString;
     int wsh=dmMain->adoLoadSprcredit->FieldByName("creditid")->AsInteger;
     cbSchema->AddItem(s,(TObject*)new int(wsh));
     dmMain->adoLoadSprcredit->Next();
    }
    dmMain->adoLoadSprcredit->Active=false;
    cbSchema->ItemIndex=0;
 }
 __finally{
  delete login;
  login = NULL;
  delete Reg;
  Reg = NULL;
  }
 return 0;
 }

Этот вариант имеет один недостаток(точнее - в моем случае установленный сервис являлся корпоративным стандартом) - в нем предполагается наличие на компьютере уже установленного MSSQLExpress - тебе для твоих задач можно использовать более простые варианты - типа Firebird - принцип и подход примерно тот же - но не требуется устанавливать дополнительные сервисы.
(c)Функция приведена в качестве примера и не содержит полного кода. Все переменные и компоненты инициализируются должным образом при необходимости. Имена переменных отражают их тип класса (для компонентов) и внутреннее назначение (например adoConnect - компонент TADOConnection). Переменные которые не объявлены локально, являются открытыми или закрытыми членами класса формы, согласно общепринятых норм в ВСВ и С++ и соответствующим образом должны быть проинициализированы в конструкторе в зависимости от типа. Код предоставляется как есть, без каких либо явных или не явных гарантий.
391
04 ноября 2007 года
Archie
562 / / 03.02.2005
Хм... А как бы вы решали предложенную задачу лет, скажем, 10 назад?.. Так ли нужны тут сервера, сервисы, XML и прочая мишура? Все равно, что картошку бульдозером окучивать...
1
04 ноября 2007 года
kot_
7.3K / / 20.01.2000
Цитата: Archie
Хм... А как бы вы решали предложенную задачу лет, скажем, 10 назад?.. Так ли нужны тут сервера, сервисы, XML и прочая мишура? Все равно, что картошку бульдозером окучивать...


А как бы вы решали данную задачу лет этак 100 назад? А 1000? А резон ли пользоваться зажигалками когда огонь и при помощи мха и двух камней добыть можно?
Прочтите описание задачи - можно и обойтись без БД вообще - но в таком случае врядли удасться достичь того же удобства и результата. Можно изобретать велосипед и пытаться обойтись минимумом средств - какой в этом смысл? Что будет в выиграше?

241
05 ноября 2007 года
Sanila_san
1.6K / / 07.06.2005
Цитата: kot_
А что конкретно необходимо в примере? Как организовать динамическое подключение БД? Сложного ничего нет. Например этот фрагмент кода настраивает программу и подключает базу в зависимости от настроек реестра. В твоем случае просто будет необходимо переработать под твои условия - проверяя параметры динамически.
...

Может, лучше тогда держать локальную базу в XML? Там и дерево прекрасно организуется, и ставить ничего не надо. Ну, разве что дотнет. Правда, размер будет немаленький, и картинки хранить неудобно. Но тогда лучше действительно поднять ресурс в Интернете. Надёжно, единообразно, идеально переносимо и доступно, например, с КПК+GPRS хоть сидя в туалете. Чем не вариант?

490
05 ноября 2007 года
frid-karatel
357 / / 15.09.2007
мне необходимо лишь организовать возможность обновления через интернет, ну и ведение некоторой статистики с отправкой в интернет... просто вот в чем дело... если интернета нет, то и базы, и программы - ничего нет...

хочется узнать из основного:
1. быстро ли будет динамически рисоваться (обрабатываться и грузиться) список, скажем, из 20-50 объектов на форме, а потом жудаляться и рисоваться по-новой...?
2. База данных, которая не будет требовать больших затрат с установкой, хорошо бы было вообще без установки (включая сервисов и т.п. вещей), ограничиться, например, парой DLL...
3. если использовать MDB (Access БД), то ей необходим предустановленный MS Office (или нет?)
4. Думал использовать и устанавливать/удалять скрыто Apache + MySQL... но проблем с этим возникает не мало... Но зато можно пихать абсолютно любую графику и гибкая настройка стилей... что не скажешь про VCL - там надо спецкомпоненты. Зато обработка функций более удобна и можно создать больше возможностей и реализовать больше действий, например, получение размера жесткого диска, привязка (вдруг понадобится) и т.п. вещи, который нельзя реализовать в WEB-программировании...

Итак, какие будут пожелания? :)
1
05 ноября 2007 года
kot_
7.3K / / 20.01.2000
Цитата: frid-karatel
мне необходимо лишь организовать возможность обновления через интернет, ну и ведение некоторой статистики с отправкой в интернет... просто вот в чем дело... если интернета нет, то и базы, и программы - ничего нет...

хочется узнать из основного:
1. быстро ли будет динамически рисоваться (обрабатываться и грузиться) список, скажем, из 20-50 объектов на форме, а потом жудаляться и рисоваться по-новой...?
2. База данных, которая не будет требовать больших затрат с установкой, хорошо бы было вообще без установки (включая сервисов и т.п. вещей), ограничиться, например, парой DLL...
3. если использовать MDB (Access БД), то ей необходим предустановленный MS Office (или нет?)
4. Думал использовать и устанавливать/удалять скрыто Apache + MySQL... но проблем с этим возникает не мало... Но зато можно пихать абсолютно любую графику и гибкая настройка стилей... что не скажешь про VCL - там надо спецкомпоненты. Зато обработка функций более удобна и можно создать больше возможностей и реализовать больше действий, например, получение размера жесткого диска, привязка (вдруг понадобится) и т.п. вещи, который нельзя реализовать в WEB-программировании...

Итак, какие будут пожелания? :)



1. Firebird/C++Builder - загрузка 40 изображений размером 2400*2400 по сети занимала ок 15 сек.
2. Firebird Emmbeded, LiteSQL и т.п.
3. Да необходим - или необходимо установить драйвера для доступа.
4. Скрытую установку ты можешь и не выполнить - правила безопасности могут не позволить. Никаких спец-компонентов для работы с графикой не нужно.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог