Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.05.19;
Скачать: [xml.tar.bz2];

Вниз

Web сайт c помощью дельфи   Найти похожие ветки 

 
vajo   (2003-04-30 06:43) [0]

Вот решил попробовать сделать страничку.

program Prog;
{$APPTYPE CONSOLE}
uses
SysUtils,
Unit1 in "Unit1.pas" {DataModule1: TDataModule},
var
Str:String;
i:Integer;
begin
writeln ("CONTENT-TYPE: TEXT/HTML");
writeln;
writeln ("<HTML><HEAD>");
writeln ("<TITLE>Prog</TITLE>");
writeln ("</HEAD><BODY>>");
writeln ("<H1>Пример</H1>");
DataModule1.Table1.First;
For i:=1 To 10 DO
writeln ("<H1>Цикл</H1>");
end;
end.


Запускаю в броузере ( http://localhost/Test/Project2.exe) и получаю "Exception EAccessViolation in module Project2.exe at 00082044. Access violation at address 00482044 in module "Project2.exe". Read of address 00000058."
Убираю строку "DataModule1.Table1.First;" и все работает.
Значит так таблицы нельзя использовать? Я хочу вывести таблицу на страницу.
А может у кого есть примерчик рабочий?


 
Separator   (2003-04-30 07:06) [1]

Ха, ну да так и заработало. Вопрос: А ты подумал куда будет происходить запись, в какой файл, а то получается вывод на экран и ещё присутствует какой-то непонятный цикл? Прочитай хотябы одну книгу по основам Pascal


 
gek   (2003-04-30 07:13) [2]


> Separator © (30.04.03 07:06)


Присоединяюсь.
Да и вообще причем тут Web сайт?


 
Separator   (2003-04-30 07:17) [3]

Думаю ты этого добивался:
program Project1;

var
F: textfile;
i: Integer;

begin
AssignFile(F, "MyPage.html");
{$I-}
Rewrite(F);
{$I+}
if IOResult = 0 then begin
WriteLn(F, "<CONTENT-TYPE: TEXT/HTML>");
WriteLn(F, "");
WriteLn(F, "<HTML><HEAD>");
WriteLn(F, "<TITLE>Prog</TITLE>");
WriteLn(F, "</HEAD><BODY>");
WriteLn(F, "<H1>Пример</H1>");
for i:=1 to 10 do
WriteLn(F, "<H1>Цикл</H1>")
end;
CloseFile(F)
end.

Тока вот что такое DataModule1.Table1.First я не знаю, попробуй объяснить или приведи код Unit1.pas


 
Palladin   (2003-04-30 09:02) [4]

Separator ©
gek ©
эх вы...


vajo (30.04.03 06:43)
пример вывода таблицы table1 из c:\test.mdb


program Project1;
uses ADODB;
var
q:TADOQuery;
i:integer;

begin
write("<html><body>");
q:=TADOQuery.Create(nil);
q.ConnectionString:="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Test.mdb;Persist Security Info=False";
q.sql.text:="select * from table1";
q.open;
writeln("<table width="100%">");
while not q.eof do
begin
writeln("<tr>");
for i:=0 to q.fieldcount-1 do writeln("<td>"+q.fields[i].asstring+"</td>");
writeln("</tr>");
q.next;
end;
q.close;
q.free;
writeln("</table></body></html>");
end.



 
vajo   (2003-04-30 09:05) [5]

>Separator ©
Это был просто тестовый пример. В цикле просто выволится надпись. В файл ничего не надо записывать. После запуска в броузере уже все выглядит как HTML. У меня в IIS настроено выполнять приложения.

DataModule1.Table1.First - это для эксперимента. Попробовать обратиться к таблице.


unit Unit1;

interface

uses
SysUtils, Classes, DB, DBTables;

type
TDataModule1 = class(TDataModule)
Table1: TTable;
private
{ Private declarations }
public
{ Public declarations }
end;

var
DataModule1: TDataModule1;

implementation

{$R *.dfm}

end.


Если бы можно было работать с таблицей, то можно будет сделать так:
For i:=1 To DataModule1.Table1.RecordCount DO
writeln (DataModule1.Table1.FieldByName("Name").AsString);
DataModule1.Table1.Next;
end;


 
gek   (2003-04-30 09:13) [6]


> Palladin © (30.04.03 09:02)


Да дело не в выводе таблицы, а в том, что,
сам вопрос
Web сайт c помощью дельфи

кривой.
Еще раз повторюсь(изините) причем тут Web сайт?


 
Palladin   (2003-04-30 09:25) [7]


> gek © (30.04.03 09:13)

при том...

перепиши созданый exe в исполняемую директории IIS или PWS и набери в експлорере

http:\\localhost\cgi\project1.exe

сразу поймешь почему используется вывод в output и причем тут вебсайт


 
Shirson   (2003-04-30 09:53) [8]

>vajo (30.04.03 06:43)
Вот решил попробовать сделать страничку.
...
Запускаю в броузере ( http://localhost/Test/Project2.exe) и получаю "Exception EAccessViolation in module Project2.exe at 00082044. Access violation at address 00482044 in module "Project2.exe". Read of address 00000058."
Убираю строку "DataModule1.Table1.First;" и все работает.

Palladin дело написал. DataModule1 это не абстракция, висящая в воздухе. Его нужно прицепить к существующей базе и получить из неё набор данных, после чего уже с ним работать.
Если просто, на закрытый dataset, дать команду first, он может и не туда послать :)


>Separator,gek
Прежде чем другим советовать "Прочитай хотябы одну книгу по основам Pascal", может вам самим начать читать книги по Delphi? :)


 
gek   (2003-04-30 10:14) [9]

Блин


> >Separator,gek
> Прежде чем другим советовать "Прочитай хотябы одну книгу
> по основам Pascal", может вам самим начать читать книги
> по Delphi? :)


Может хреновину не надо нести?

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

P.S.
Может тебе самому поучиться надо


 
Palladin   (2003-04-30 10:29) [10]

веб сайт можно написать на делфи...
так же как и веб сервер...


 
Palladin   (2003-04-30 10:30) [11]


> gek © (30.04.03 10:14)

скажи мне что в вопросе для тебя криво?


 
gek   (2003-04-30 10:50) [12]


> Palladin © (30.04.03 10:29)


Можно.
Но нужно ли?


> Palladin © (30.04.03 10:30)


Подумай сам, ну если сам не сможешь, то тогда помогу


 
Palladin   (2003-04-30 10:53) [13]

помоги


 
gek   (2003-04-30 11:00) [14]

Блин последнмий раз отвечаю, причем тут Delphi и Web

Мой юный друг, если ты не знаешь различий, то зачем вся эта требуха?


 
Palladin   (2003-04-30 11:12) [15]

:)
все с Вами понятно... такой большой дядя, а знает не все.
Вы в курсе что Delphi позволяет писать CGI приложения? а NS/ISAPI? а Apache dll? Видимое нет.
Вы в курсе, что при запуске IISом или PWSом консольного приложения, стандартные потоки ввода вывода перенаправляются вебсерверу и writeln работает на IIS который принимает результат и формирует html для передачи его браузеру?
И теперь скажите мне большой взрослый дядя, сможешь ли ты увязать Web и Delphi? учитывая что CGI, NS/ISAPI это есть веб-приложения? И что на делфи можно разработать целый сайт?
Жду Вашего мнения, уважаемый...

ЗЫ для интереса выберите File/New/Other вкладка New
Вы увидите в конце списка Web Application...
надеюсь вы признаете свою неправоту...


 
Palladin   (2003-04-30 11:15) [16]

поправлюсь
CGI, ISAPI это стандарты, а веб приложения их используют...


 
gek   (2003-04-30 11:30) [17]


> все с Вами понятно... такой большой дядя, а знает не все.


Я то знаю...

Все, ветка закрыта. Учись сынок, учись....


 
Palladin   (2003-04-30 11:37) [18]

:)
отсутствие конкретных аргументов по теме и переход к фразам типа "сынок" "молодой человек" и пр, есть самое откровенное признание поражения


 
Карелин Артем   (2003-04-30 11:41) [19]

Palladin © (30.04.03 11:37)
Факт. Они сами не вкуривают тематику ветки.


 
gek   (2003-04-30 11:57) [20]

Блин
вы меня достали
WEB-сайт и Delphi это две разные вещи

И вообще, если ты сделаешь сайт полностью на Delphi - Нобелевскую премию тебе гарантирую


 
vajo   (2003-04-30 12:01) [21]

> All

Ребята давайте жить дружно! Не надо ссориться.

>Shirson ©
А так нельзя?
На DataModule1 находится компонент Table1 таблица подключена Active=True.


 
vajo   (2003-04-30 12:03) [22]

> gek
Не надо так возмущаться.
Меня просто интересует возможность вывода таблицы.


 
Карелин Артем   (2003-04-30 12:08) [23]

gek © (30.04.03 11:57)
Слушай, дай мне хотя бы ящик пива - сделаю. И даже вместе с сервером, если баксов добавишь.
Советую почитать доки на эту тему хотя бы на Королевстве Дельфи. Ну или про Common Gateway Interface почитать. Сайт можно делать даже на Паскале или басике ;) , потому как сайт-довольно абстрактное понятие...

2 vajo Сдается мне, что вывод на экран в твоей проге идет до создания Table1, либо что-то не в порядке с настройкой сервера.


 
gek   (2003-04-30 12:14) [24]

Ешё раз говорю для тех, кто в бронепоезде
причем тут Web сайт


История нас учит, что ничему нас не учит...


 
Карелин Артем   (2003-04-30 12:21) [25]

gek © (30.04.03 12:14)
Имеется в виду, что контент можно хранить в HTML, а можно генерировать динимически.
vajo
У тебя вывод не экран опрежает создание DataModule. Подумай, в чем причина сам.


 
Palladin   (2003-04-30 12:23) [26]


> gek © (30.04.03 12:14)

хоть сейчас набросаю
2 часа и будет тебе маленький сайтик


 
Palladin   (2003-04-30 12:25) [27]

причем ты даже не заметишь что он на делфи сделан...
исходники конечно же будут прилагатся...


 
nikkie   (2003-04-30 12:26) [28]

>vajo
у тебя DataModule не существует в момент обращения, а в переменной DataModule1 находится nil. Отсюда и Access Violation.

DataModule1 := TDataModule1.Create(nil);
try
DataModule1.Table1.First;
finally
DataModule1.Free;
end;


>gek
кончай позориться.


 
Delirium   (2003-04-30 12:27) [29]

program Prog;
{$APPTYPE CONSOLE}
uses
SysUtils,
Unit1 in "Unit1.pas" {DataModule1: TDataModule};

var Str:String;
i:Integer;
begin
DataModule1:=TDataModule1.Create(nil);

writeln ("CONTENT-TYPE: TEXT/HTML");
writeln;
writeln ("<HTML><HEAD>");
writeln ("<TITLE>Prog</TITLE>");
writeln ("</HEAD><BODY>>");
writeln ("<H1>Пример</H1>");
DataModule1.Table1.First;
For i:=1 To 10 DO
writeln ("<H1>Цикл</H1>");

DataModule1.Destroy;
end.


 
gek   (2003-04-30 12:28) [30]


> Карелин Артем © (30.04.03 12:21)
> gek © (30.04.03 12:14)
> Имеется в виду, что контент можно хранить в HTML, а можно
> генерировать динимически.
>
>


Блин, то если так то верно


 
Delirium   (2003-04-30 12:30) [31]

>gek

www.VideoDVD.tk - сайт исключительно на Delphi


 
shiva1   (2003-04-30 12:35) [32]

www.computerbook.ru - на Delphi.


 
gek   (2003-04-30 12:36) [33]

Да ёлкм-палки...

Люди...

Подумайте на вопросом...


 
Palladin   (2003-04-30 12:38) [34]


> gek © (30.04.03 12:28)

как же ты не внимательно читал мой пост
Palladin © (30.04.03 11:12)


 
gek   (2003-04-30 12:58) [35]


> Вы в курсе, что при запуске IISом или PWSом консольного
> приложения, стандартные потоки ввода вывода перенаправляются
> вебсерверу и writeln работает на IIS который принимает результат
> и формирует html для передачи его браузеру?
> И теперь скажите мне большой взрослый дядя, сможешь ли ты
> увязать Web и Delphi? учитывая что CGI, NS/ISAPI это есть
> веб-приложения? И что на делфи можно разработать целый сайт?
> Жду Вашего мнения, уважаемый...



Да в курсе я...
И прочитал ну куда уж внимательней

Лдушкми...
Спор то не.... о том


 
vajo   (2003-04-30 14:11) [36]

>Delirium ©
Спасибо! Все получилось!



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

Форум: "Потрепаться";
Текущий архив: 2003.05.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.53 MB
Время: 0.006 c
14-59950
ghg
2003-04-30 07:59
2003.05.19
сотовая связь на украине


1-59736
AVovikA
2003-05-05 18:02
2003.05.19
Что осталось после удаления формы?!


3-59554
ki11er
2003-04-25 17:28
2003.05.19
Вопрос про PDOXUSRS.NET


4-59990
DimG
2003-03-19 16:16
2003.05.19
как отловить смену положения курсора в TEdit?


3-59550
dtm
2003-04-25 13:49
2003.05.19
Переход из DBGrid по клавише





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский