Вверх ↑
Этот топик читают: Гость
Администрация
Ответов: 15295
Рейтинг: 1519
#1: 2007-01-01 17:40:01 ЛС | профиль | цитата
На данный момент разрабатывается элементная база пакета, которая должна будет позволить создавать полноценные скрипты с использованием файлов, баз данных, сессий, куков и прочих WEB элементов. Все предложения и идеи можно оставлять и обсуждать тут. Так же вы можете принять непосредственное участие в разработке/доделки компонент и иконок к ним.
карма: 27
0
Ответов: 2058
Рейтинг: 28
#2: 2007-01-06 00:16:58 ЛС | профиль | цитата
Dilma, а как этот PHP пакет будет выглядеть? Как Front Page или все теги самому приодеться вводить?
карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#3: 2007-01-06 06:04:03 ЛС | профиль | цитата
Эдик, он уже выглядит. И чтобы посмотреть как нужно поставить пакет. Визуального редактора типа Front Page не будет - основная ориентация пакета PHP это работа с соответствующим скриптом. Все HTML шаблоны лучше делать в спец пакетах.
карма: 27
0
Ответов: 3514
Рейтинг: 184
#4: 2007-01-07 15:44:11 ЛС | профиль | цитата
Я думаю на PHP ы зря тратиш время. Почему? Потому что это можно сделать и в блокноте. Потому что Хиасм не удобен для этих целей, как таковой. И потому, что есть ещё куча программ, которыми можно написать скрипт намного быстрее.
карма: 0
0
Ответов: 2058
Рейтинг: 28
#5: 2007-01-07 16:25:36 ЛС | профиль | цитата
Надо с начало посмотреть хотябы 80% законченног проекта, а потом думать нужен он или нет. В крайнем случае всегда можно от него отказаться кобудто его и не было и не тратить на него времени.
карма: 1

0
Ответов: 2125
Рейтинг: 159
#6: 2007-01-07 17:05:24 ЛС | профиль | цитата
Астрамак писал(а):
есть ещё куча программ, которыми можно написать скрипт намного быстрее

Я думаю, тут цель не "написать скрипт намного быстрее", а дать возможность человеку, который привык и умеет обращаться с ХиАсм, делать php-скрипты.
карма: 1

0
Ответов: 9906
Рейтинг: 351
#7: 2007-01-07 17:14:02 ЛС | профиль | цитата
Астрамак писал(а):
Я думаю на PHP ы зря тратиш время. Почему? Потому что это можно сделать и в блокноте. Потому что Хиасм не удобен для этих целей, как таковой. И потому, что есть ещё куча программ, которыми можно написать скрипт намного быстрее.


Наблюдение: чем меньше человек разбирается в чем-то, тем категоричней его заявления
карма: 9

0
Ответов: 3514
Рейтинг: 184
#8: 2007-01-07 18:09:11 ЛС | профиль | цитата
чем меньше человек разбирается в чем-то, тем категоричней его заявления

Не правда
карма: 0
0
Администрация
Ответов: 15295
Рейтинг: 1519
#9: 2007-01-08 02:46:05 ЛС | профиль | цитата
Астрамак писал(а):
думаю на PHP ы зря тратиш время. Почему? Потому что это можно сделать и в блокноте.


Согласен с:
tsdima писал(а):
Я думаю, тут цель не "написать скрипт намного быстрее", а дать возможность человеку, который привык и умеет обращаться с ХиАсм, делать php-скрипты.

карма: 27
0
Главный модератор
Ответов: 2999
Рейтинг: 396
#10: 2007-01-09 22:17:14 ЛС | профиль | цитата
Dilma, Подскажи, пожалуйста, как избежать двойных кавычек. Из этого кода:
  print( "case '4': ", drv, " = 'odbc_mssql'; ", strConn, " = 'Driver={SQL Server};Server=", Connection, ";Database=", DBname, ";'", "; break;" )
получается так:
 case '4': $drv2 = 'odbc_mssql'; $strconn2 = 'Driver={SQL Server};Server="proof";Database="Test";'; break;
а надо вот так:
 case '4': $drv2 = 'odbc_mssql'; $strconn2 = 'Driver={SQL Server};Server=proof;Database=Test;'; break;
:?:
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 2125
Рейтинг: 159
#11: 2007-01-09 22:33:53 ЛС | профиль | цитата
Зачем избавляться? Пусть будут:

  print( "case '4': ", drv, " = 'odbc_mssql'; ", strConn, " = 'Driver={SQL Server};Server=' . ", Connection, " . ';Database=' . ", DBname, " . ';'", "; break;" )

карма: 1

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#12: 2007-01-09 22:56:15 ЛС | профиль | цитата
tsdima, это не PHP пока ещё, а код будущего php компонента.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 2125
Рейтинг: 159
#13: 2007-01-09 23:10:42 ЛС | профиль | цитата
Не сомневаюсь. В скрипте получишь:
case '4': $drv2 = 'odbc_mssql'; $strconn2 = 'Driver={SQL Server};Server=' . "proof" . ';Database=' . "Test" . ';'; break;[/code]

И потом, если у тебя имя сервера или базы будет не константа (а например с верхней точки или из потока), всё равно формировать строку подобным образом надо будет.
карма: 1

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#14: 2007-01-09 23:37:52 ЛС | профиль | цитата
Правильный ответ:

  print( 'case "4": ', drv, ' = "odbc_mssql"; ', strConn, ' = "Driver={SQL Server};Server="' & Connection  & '";Database="' & DBname & '";"', '; break;' )
Получу:

 case "4": $drv2 = "odbc_mssql"; $strconn2 = "Driver={SQL Server};Server="."proof".";Database="."Test".";"; break;

СПАСИБО ЗА ИДЕЮ!
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Администрация
Ответов: 15295
Рейтинг: 1519
#15: 2007-01-10 03:03:07 ЛС | профиль | цитата
Nic, если уж решили таки на свой страх и риск уже начать что-то писать(а иногда синтаксис меняется достаточно сильно...), то могу немного пояснить, что б понятнее стало:

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

Для чего нужно такое разделение? tsdima, уже частично ответил на вопрос - имя св-ва может быть заменено кодогенератором на один из трех вариантов:
1) На непосредственное значение св-ва
2) На данные с верхней точки
3) На данные из потока
все как в пакете Delphi и ничего нового тут нет. Если рассматривать первый случай, то там все просто - замена всегда будет содержать строковое значение. А вот в случаях 2 и 3 пришедшее значение может быть как строкой, так и кодом. Вот для автоматического отслеживания таких ситуаций и были введены явные типы данных и операторы для работы с ними. Так в вашем примере правильнее будет записать так:
print( 'case "4": ', drv, ' = "odbc_mssql"; ', strConn, ' = ', "Driver={SQL Server};Server=" & Connection & ";Database=" & DBname & ";", '; break;' )[/code]
тогда кодогенератор сумеет правильно сцепить строки, где это необходимо и расставить кавычки в нужных местах. В вашей же записи кодогенератор видит следующую последовательность аргументов:
' = "Driver={SQL Server};Server="' - код
Connection - строка
'";Database="'  - код
DBname - строка
'";"' - и сново код
и поэтому пытается применить оператор конкатенации строк, хотя на самом деле это в данном случае не нужно. В итоге получим:
case "4": $drv2 = "odbc_mssql"; $strconn2 = "Driver={SQL Server};Server=proof;Database=Test;"; break;[/code]
карма: 27
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)