Вроде бы сайты на ActiveX делали в прошлом веке. Или нет? Или, она должна быть со скачиваемым клиентом? Это провал. Good отстой, Neutral - параша, Evil, хой, победа наша!
и клиент и сервер все на чисто делфи 7!!!! а то я на работе сделал локальный чат через блокнот почувствовал себя мега программистом гг
Добавлено (01.08.2012, 20:21) --------------------------------------------- я как то пробовал писать на сокетах, но запаролся на регистрации, все бы ничего но как отправлять несколько инфо сразу ? несколько допустим edit текстов. если можно реализовать соц сеть на делфи используя только блокнот то это убийца вов будет ибо не мыслимо
я как то пробовал писать на сокетах, но запаролся на регистрации, все бы ничего но как отправлять несколько инфо сразу ? несколько допустим edit текстов.
Совмещать в запрос вида name:ololo,secondname:trololo,city:muhosransk
И разбирать на приеме Good отстой, Neutral - параша, Evil, хой, победа наша!
Сообщение отредактировал Anarchyst - Среда, 01 Августа 2012, 20:23
omsklavr, на дельфи нет, но в нем стопудово есть функция split или еще как-нибудь. Короче, она должна разбирать строку в массив, разделяя заданным символом. На AS3 так: function parse(data:String) { var data_array:Array = data.split(","); var keys:Array = []; var values:Array = []; var returning:Object = {}; for(var i:int = 0; i<data_array.length; i++) { keys[i][length] = data_array[i].split(":")[0]; values[i][length] = data_array[i].split(":")[0];
returning[keys[i] = values[i]; } return returning; } Good отстой, Neutral - параша, Evil, хой, победа наша!
как все тяжело наверное лучше чем нибудь другим заняться. я пытался программы писать, игры делать, соц сеть, сайты, все брошено. не хватает сил. если берусь за дело то как фанатик до упора сижу. Делаю самый супер сервер C.S. 1.6
не знаю чего хочу. социальную сеть делать + сервер майн как то глупо. коому надо
Добавлено (01.08.2012, 20:46) --------------------------------------------- или на еклипс ориджн сделать ммо, или скирра, мало на что способен. кроме как оплачивать хост
Добавлено (22.08.2012, 09:12) --------------------------------------------- ладно перегнул палку, ничего не получается. попробую хоть чатик заделать
Добавлено (23.08.2012, 06:44) --------------------------------------------- тема закрыта. чат это слишком просто для меня но пиксельно получается более мене красиво, ждем что получится. правдо в событиях не разбираюсь жаль
omsklavr, хватит темы портить. Зашёл почитать тему "чат на Delphi 7", а в первом посте только это, без описания и всего такого - и где "чат на Delphi 7"?
Quote (omsklavr)
я как то пробовал писать на сокетах, но запаролся на регистрации, все бы ничего но как отправлять несколько инфо сразу ?
Ну ты ведь поток байт отправляешь? Придумай символ-разделитель, да хотя бы и ",", если запятая нигде не используется. А клиент или сервер, принимающие такой запрос, ищут эту запятую и разделяют строку на две, удаляя запятую. Либо определи каждому полю определённое число байт (и считывать определённое число байт), но этот трюк пройдёт только с числами, для строк (они переменной длины) всё равно придётся символ-разделитель (или комбинацию символов) делать.
Quote (Anarchyst)
на дельфи нет, но в нем стопудово есть функция split или еще как-нибудь
В Delphi функции обработки строк только самые основные, по крайней мере в старых версиях... Это во всяких там скриптовых языках куча готовых функций... Можно сделать так:
Code
{$APPTYPE CONSOLE} type trdata=record //Одно поле name:string; data:string; end; tadata=array of trdata; //Динамический массив с данными
var s:string; data:tadata;
function splitdata(r:string):tadata; var d:tadata; i:word; buf:string; begin i:=1; buf:=r; while i<=length(buf) do //Проходим строку до конца begin if buf[i]=':' then //Если нашли первый разделитель begin setlength(d,length(d)+1); //Увеличили массив d[length(d)-1].name:=copy(buf,1,i-1); //Скопировали имя поля delete(buf,1,i); //Удаляем лишние теперь данные i:=1; //И сбрасываем счётчик, потому что удалили часть строки end else if buf[i]=';' then //Если нашли второй разделитель begin d[length(d)-1].data:=copy(buf,1,i-1); //Это будут данные, записываем delete(buf,1,i); //Опять удаляем i:=1; end else inc(i); //Если ничего не нашли - увеличили счётчик end; //Если что-то осталось - это будут данные в последнем поле //(ну типа последнего двоеточия не было, мало ли) if length(buf)>0 then d[length(d)-1].data:=buf; result:=d; end;
procedure writedata(data:tadata); var i:byte; begin for i:=0 to length(data)-1 do begin //Выводим по очереди имя поля и данные в нём writeln('Field #',i,': ',data[i].name); writeln('Data: ',data[i].data); writeln; end;. end;
begin repeat readln(s); //Получаем строку каким-либо способом //Если строка не пуста и содержит хоть один //разделительный символ if (length(s)>0) and (pos(':',s)>0) then begin data:=splitdata(s); //Разбиваем строку writedata(data); //В данном случае - выводим на экран //Но вообще должны как-то обработать полученные данные end; until s='exit'; end.
Тут вписываем строку типа "Поле1:данные;Поле2:данные;Поле3:данные" и так далее, она соответственно разбивается. Строку, конечно, нужно получать через сеть, типа клиент получает запрос от другого клиента с данными разного типа или что-то в этом роде.
Quote (DeusEx-12)
Но вот только инструмент уж больно странный.
Чем же Delphi странный? Чат сделать можно и на Delphi, с хорошим интерфейсом и кучей функций, и даже проще, чем на каких-то других языках. В интернете можно даже уроки на эту тему найти, а ещё такое разбирается в некоторых учебниках-самоучителях, где затрагивается сеть в Delphi. А сервер не обязательно писать на Delphi, сервера может вообще не быть (клиенты сами друг с другом связываются), а мастер-сервер (хранящий информацию о клиентах, типа текущих IP, связанных с именами) можно сделать и на PHP, и общение клиента с мастер-сервером будет заключаться в get-запросах.
Quote (omsklavr)
социальную сеть делать + сервер майн как то глупо. коому надо или на еклипс ориджн сделать ммо, или скирра, мало на что способен. кроме как оплачивать хост
Главное не строить грандиозных планов, если не уверен в своих силах.
Quote (omsklavr)
чат это слишком просто для меня
Лучше начинать с чего-то простого, что точно получится, а не пытаться сделать невозможное и в очередной раз провалиться.
Quote (omsklavr)
но пиксельно получается более мене красиво, ждем что получится.
Что "пиксельно"? Что-то я не в курсе.
Quote (omsklavr)
правдо в событиях не разбираюсь жаль
В каких событиях? Если ты о событиях Delphi, то это вообще самое простое, чего-то там разбираться-то...
Да я понял, что было сказано, но чем Delphi не подходит для разработки сервера? Тут только одна проблема: нужен компьютер с Windows/Linux, который будет всё время подключён к сети; арендовать такой компьютер скорей всего дороже, чем какой-то узкоспециализированный.
Quote (DeusEx-12)
omsklavr хотел делать
Quote (omsklavr)
социальную сеть делать + сервер майн
Он пытался собрать (из готовых частей) minecraft-сервер (а он вообще на Java), но у него как-то не получилось это сделать.
Quote (DeusEx-12)
Quote (omsklavr)
и клиент и сервер все на чисто делфи 7
Да, Delphi для этого далеко не самый подходящий инструмент.
Ну вообще в Delphi много готовых средств для работы с сетью, если почитать документацию, всё будет просто и понятно... А если работать с сетью на уровне WinAPI, то тут уже без разницы, что Delphi, что C++, функции одинаковые...
Quote (DeusEx-12)
но вот только ЗАЧЕМ?
Да мало ли зачем человеку нужно что-то делать. Возможно, кто-то сейчас 3D-графику делает именно на Prolog, а если делает - значит, ему это нужно.
TimKruz, не в плане спора. Разбиралась конкретная ситуация конкретного форумчанина. Если Вы хотите знать моё мнение, то omsklavr лучше бы вообще не притрагиваться к программингу. Что на Delphi, что вне его. Судя по его постам. p.s. Ничего против Delphi лично я не имею. Ищем партнёров в РФ для реализации (продажи) и поддержки ПО
Если Вы хотите знать моё мнение, то omsklavr лучше бы вообще не притрагиваться к программингу. Что на Delphi, что вне его. Судя по его постам.
Вот-вот, я тоже так думаю. Ему
Quote (omsklavr)
не хватает сил
а ещё терпения и знаний (в определённых областях), я так думаю... Впрочем, многие начинали с чего-то подобного... При правильном подходе к делу что угодно сделать можно...