Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 24.03.2009, 17:31
co6r co6r вне форума
Прохожий
 
Регистрация: 24.03.2009
Сообщения: 7
Репутация: 10
По умолчанию Программа для локальной сети, обмен сообщениями

Здравствуйте!
Мне нужна помощь в создании программы, которая по сути должна быть недочатом)
Суть такая: Я, с компьютера А заполняю форму "Зонд №; Таб. №; описываю неполадку; Отправляю". На компьютере Б Приходит сообщение с этим текстом красного цвета, после устранения неполадки, компьютер Б ставит галочку на против сообщения и оно становиться зеленым.

Может быть аналогичные способы кому в голову придут...

Возможно ли такое сделать?
Возможно ли послать сообщение на определенный компьютер а не на все компьютеры с включенной программой?

Пишу на делфи второй день , знаю не много, т.к. руководствуюсь методом тыка и вашим сайтом.
Присоединяю исходник программы, на той стадии что сейчас есть.
Вложения
Тип файла: rar 2.rar (23.0 Кбайт, 37 просмотров)
Ответить с цитированием
  #2  
Старый 24.03.2009, 17:45
co6r co6r вне форума
Прохожий
 
Регистрация: 24.03.2009
Сообщения: 7
Репутация: 10
По умолчанию

возможно не ставить галочку, на компьютере Б, а нажимать на сам текст в Мемо окне
Ответить с цитированием
  #3  
Старый 25.03.2009, 22:20
co6r co6r вне форума
Прохожий
 
Регистрация: 24.03.2009
Сообщения: 7
Репутация: 10
По умолчанию

Как сделать так, чтобы входяще и исходящие сообщения были разных цветов?
Как сделать так, чтобы сообщение отправлялось на выбранный IP из списка, а не на все?
Как сделать чтобы ComboBox сам отчищался после отправки?
как сделать так, чтобы история чата сама сохранялась?
Можно сделать так, чтобы окно которое выскакивает вправо внизу, выскакивало только при получении сообщения?

Что то эту ветку совсем не просматривают... помогите новичку )

Опять же присоединяю 2 исходника
Вложения
Тип файла: rar Version6.rar (19.3 Кбайт, 22 просмотров)
Тип файла: rar Version7.rar (22.5 Кбайт, 29 просмотров)
Ответить с цитированием
  #4  
Старый 27.03.2009, 12:52
Аватар для SHKIP3R
SHKIP3R SHKIP3R вне форума
Новичок
 
Регистрация: 24.04.2007
Адрес: Челябинск
Сообщения: 69
Репутация: -1631
Подмигивание

хоть и программа твоя проста, как 5 копеек, но я думаю... мало кто будет её делать за тебя, попробуй предложить наших деревянных рубликов, и желающие тут же откликнутся, и в течении дня-двух всё за тебя напишут
Ответить с цитированием
  #5  
Старый 27.03.2009, 13:01
Аватар для TOJluK
TOJluK TOJluK вне форума
Местный
 
Регистрация: 25.02.2009
Адрес: Минск
Сообщения: 551
Версия Delphi: 2007
Репутация: 110
По умолчанию

Цитата:
Сообщение от co6r
Как сделать так, чтобы входяще и исходящие сообщения были разных цветов?
Как сделать так, чтобы сообщение отправлялось на выбранный IP из
Как сделать чтобы ComboBox сам отчищался после отправки?
как сделать так, чтобы история чата сама сохранялась?
Можно сделать так, чтобы окно которое выскакивает вправо внизу, выскакивало только при получении сообщения?

Что то эту ветку совсем не просматривают... помогите новичку )

Опять же присоединяю 2 исходника
Сразу скажу, исходники не смотрел... Так что ответы несколько обобщенные
1) Длоя разных цветов используй RichEdit, там можно менять цвет каждой строки а не всего текста как в Memo
2) Про IP не подскажу
3) ComboBox.Text:='' для удаления текста или ComboBox1.Items.Clear для удаления элементов (поставь конце процедуры отправки)
4) Обработчик OnChange у RichEdit и там RichEdit1.Lines.SaveToFile как вариант
5) нет ответа, поскольку не смотрел исходники

Последний раз редактировалось TOJluK, 27.03.2009 в 13:05.
Ответить с цитированием
  #6  
Старый 27.03.2009, 13:21
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,026
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

1. Можно использовать TListBox с ручной отрисовкой итема. Там вариантов тьма, так что тут надо понимать чего ты хочешь.
2. Есть вопрос. Компьютер Б один или их несколько. Обычно такие системы пишутся в архитектуре клиент-сервер. Т.е. есть некоторый сервер, к которому могут присоединяться клиенты и посылать ему разные сообшения, а он, сервер, на эти сообщения отвечает. Т.е. не совсем понятно как твоя программа должна работать - опиши варианты взаимодействия на некотором ландшафте сети, тогда получишь более дельные советы.
3. Если просто очистить текст, то как сказали - ComboBox1.Text := ''. Если у тебя выбор строго из списка, то можно так: ComboBox1.ItemIndex := -1
4. Сохранить ее руками. Между сеансами - в файле. Вариантов тоже маса - все зависит от того, какую информацию ты должен сохранять (в смысле кроме самомго текста сообщения).
5. Да, конечно. В момент получения надо вызвать соответсвующую функцию. Зависит от того, как ты будешь реализовывать саму нотификацию.
Ответить с цитированием
  #7  
Старый 27.03.2009, 22:02
co6r co6r вне форума
Прохожий
 
Регистрация: 24.03.2009
Сообщения: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
1. Можно использовать TListBox с ручной отрисовкой итема. Там вариантов тьма, так что тут надо понимать чего ты хочешь.
2. Есть вопрос. Компьютер Б один или их несколько. Обычно такие системы пишутся в архитектуре клиент-сервер. Т.е. есть некоторый сервер, к которому могут присоединяться клиенты и посылать ему разные сообшения, а он, сервер, на эти сообщения отвечает. Т.е. не совсем понятно как твоя программа должна работать - опиши варианты взаимодействия на некотором ландшафте сети, тогда получишь более дельные советы.
3. Если просто очистить текст, то как сказали - ComboBox1.Text := ''. Если у тебя выбор строго из списка, то можно так: ComboBox1.ItemIndex := -1
4. Сохранить ее руками. Между сеансами - в файле. Вариантов тоже маса - все зависит от того, какую информацию ты должен сохранять (в смысле кроме самомго текста сообщения).
5. Да, конечно. В момент получения надо вызвать соответсвующую функцию. Зависит от того, как ты будешь реализовывать саму нотификацию.
1. Я хочу чтобы было как в аське) Я пишу одним цветом, сообщения мне приходят другим)

2.Компьютеров А много, около 50 штук, компьютер Б один.
Собственно с версии 6 я отправляю на компьютер Б,
А с версии 7 я выбираю из списка "зонд " циферку и он должен определить айпи по этой цифре и послать на нее.
3. Понятно.
4. Сохраняться должна каждая новая строка которая появляется на компьютере Б (и отправленные и принятые сообщения).
5. нотификация? что это?
Ответить с цитированием
  #8  
Старый 29.03.2009, 20:55
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

5. Нотификация - от Notify "оповещание". Додумывай сам.

остальное не скажу, потому что с таким мало работал...
Ответить с цитированием
  #9  
Старый 30.03.2009, 20:06
co6r co6r вне форума
Прохожий
 
Регистрация: 24.03.2009
Сообщения: 7
Репутация: 10
По умолчанию

так, сделал чтобы отчищалось.

И начал побывать с сохранением логов.
Нашел в книжке код (не могу написать, оставил на работе, напишу завтра).
он создает файл
Сохраняет в него все из Мемо окна,
Но при следующем сохранении, он не дописывает, а удаляет и создает этот файл заново.
Я так понимаю что я на правильном пути, но что то не так ( создавать заново файл файл не должен, а должен дописывать вновь поступившее).

Как можно сделать так, чтобы в окне что внизу выскакивало только последнее полученное сообщение?
По-моему надо как-то связать
Цитата:
// ОБРАБОТКА ВХОДЯЩИХ СООБЩЕНИЙ //
procedure TForm1.Timer1Timer(Sender: TObject);
var
buf : array [0..255] of Char;
recv : integer;
IP : PChar;
Port : integer;
begin

//NET_Update не вызывается, т.к. APL пакеты не посылаем...
// Цикл до тех пор, пока в очереди входящих есть пакеты
while NET_Recv(@buf, 255, IP, Port, recv) > 0 do
Memo1.Lines.Add(Copy(buf, 1, recv));
end;
и
Цитата:
procedure TForm1.Button3Click(Sender: TObject);
var
str : string;
begin
str := Memo1.Text; // составляем сообщение
Edit1.Text := '';

Form1.fShowHint(str);
end;
только как.... могу ли я как то вместо Memo1.Text указать входящее сообщение?

Прердыдущие вопросы в силе
Ответить с цитированием
  #10  
Старый 30.03.2009, 21:59
co6r co6r вне форума
Прохожий
 
Регистрация: 24.03.2009
Сообщения: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
1. Можно использовать TListBox с ручной отрисовкой итема. Там вариантов тьма, так что тут надо понимать чего ты хочешь.
непонятно... пишу код
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    ListBox1: TListBox;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);


  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}



procedure TForm1.Button1Click(Sender: TObject);
var
 str : string;
 begin
 str := Edit1.Text; // сообщение
 Edit1.Text := '';
 end;

end.

В едит он исчезает а в Лист бох не приходит

Последний раз редактировалось Admin, 31.03.2009 в 10:28.
Ответить с цитированием
  #11  
Старый 31.03.2009, 10:00
Аватар для TOJluK
TOJluK TOJluK вне форума
Местный
 
Регистрация: 25.02.2009
Адрес: Минск
Сообщения: 551
Версия Delphi: 2007
Репутация: 110
По умолчанию

Цитата:
Сообщение от co6r
непонятно... пишу код
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
str : string;
begin
str := Edit1.Text; // сообщение
Edit1.Text := '';
end;
В едит он исчезает а в Лист бох не приходит

Шо то я не увидел в коде как ты передаешь в лисбокс значения...
Не хватает, немного, строчки вот такой вот, примерно:
Код:
ListBox1.Items.Add(Edit1.Text)
Ответить с цитированием
  #12  
Старый 31.03.2009, 11:43
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Так... я смотрю, ты это долго делать будешь...
Стучи в ICQ 488341189, разберёмся. с текстовыми файлами работал, с сокетами тоже попытаюсь помочь.
Ответить с цитированием
  #13  
Старый 01.04.2009, 23:21
co6r co6r вне форума
Прохожий
 
Регистрация: 24.03.2009
Сообщения: 7
Репутация: 10
По умолчанию

Цитата:
1. Можно использовать TListBox с ручной отрисовкой итема. Там вариантов тьма, так что тут надо понимать чего ты хочешь.

Так, сделал
Цитата:
procedure TForm1.Button1Click(Sender: TObject);
var
str : string;
begin
str := Edit1.Text; // ñîîáùåíèå
ListBox1.Items.Add(Edit1.Text);
Edit1.Text := '';
end;
What is ручная отрисовка итема?

Самые важные вопросы:
1. Логирование
2. Отправка сообщений на выбранный IP
3. Выделение Входящих/Исходящих сообщений
4. Отображение в всплывающем окне ТОЛЬКО входящего сообщения


Мало времени учеба работа все занимают... на работе интернет не дают, собаки)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:15.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter