Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.04.2012, 19:19   #1
BigDa
Пользователь
 
Регистрация: 23.10.2011
Сообщений: 16
Лампочка Вопрос по работе с файлами (Delphi)

Я написал чат для сетевого диска. Клиент лежит на этом сетевом диске, все "юзеры" его запускают, файл чата(txt) находится в той же папке, что и клиент. Файл чата читается и дополняется "юзерами" по-обычному (assignfile,readln,writeln...).
1. Как сделать так, чтобы несколько компов одновременно могло читать и записывать в файл (или хотя бы читать), так, чтобы не выдавало ошибки?
2. Как сделать так, чтобы никто не мог со своих компов открыть текстовым редактором файл чата? А программой чтоб можно было?
BigDa вне форума Ответить с цитированием
Старый 24.04.2012, 08:02   #2
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Это не хороший чат. Лучше делайте клиент-серверный чат.
FaTaL вне форума Ответить с цитированием
Старый 24.04.2012, 08:47   #3
Freimaks
Пользователь
 
Регистрация: 23.04.2011
Сообщений: 42
По умолчанию

Я конечно не спец, но может лучше использовать БД?
Freimaks вне форума Ответить с цитированием
Старый 24.04.2012, 15:19   #4
BigDa
Пользователь
 
Регистрация: 23.10.2011
Сообщений: 16
По умолчанию

Понимаю, чат плохой, но работает же))) Я не разбираюсь в сетях, и в работе с сетью в Delphi я тоже не разбираюсь. Ну, может быть кто-нибудь знает, как сделать неоткрываемый с компа файл на сетевом диске, но чтобы его можно было открыть в Delphi??? =)
BigDa вне форума Ответить с цитированием
Старый 24.04.2012, 23:50   #5
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию

НУ смотрите, делфи как и другая любая стреда разработки работает с файлами, какие у файла атрибуты есть такие делфи и будит исопльзовать, а ошибка увас выходит изза того что вы скорее всего пытаетесь сделать запись в уже открытй для редактирования фаил, могу посоветовать компаненты SocketServer, SocketClient
Там ничего сложного нет, делаете серверную часть которая будит принимать сообшения с клиентов и отправлять нужному получателю (чат с которым открыт),
соотвествено фаил с логом чата будит отрыт только одним приложением для записи, другие не смогут его изменить.
Да и забудте эти паскальные обрашения к файлу, в делфи куча других реализаций работы с фалами, можно с ини файлами TIniFile, можно просто с файлом TFile...

И зачем у вас ехе проги-чата лежит в сети непонятно, это не совсем правильно...
Dozent вне форума Ответить с цитированием
Старый 25.04.2012, 18:12   #6
Willer55
Пользователь
 
Регистрация: 17.08.2011
Сообщений: 35
По умолчанию

Поддержу Dozent. Использование одного файла для записи сразу несколькими пользователями не очень хорошо. Посмотрите в инете есть много статей по реализации чата. Для простого чата, надо просто написать "пару" строк кода.
Willer55 вне форума Ответить с цитированием
Старый 25.04.2012, 21:01   #7
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Идея, конечно, ужас... но на первый раз для самых начинающих - сойдёт.

Насчёт одновременного доступа - никак. Это должно быть очевидно. Если две программы пишут в файл одновременно - чьи записи будут в файле? Первой или второй программы? А если обеих - то в каком порядке? И что если каждая программа пишет две записи? Значит ли это, что данные пойдут вперемешку?

Поэтому логика должна быть проста - если не смог открыть, подожди чуть-чуть и попробуй снова.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi. Динамический массив при работе с нетипизированными файлами Arrow_S Помощь студентам 10 06.04.2012 22:19
Вопрос по работе с файлами Елжан Помощь студентам 0 01.12.2011 19:23
Вопросы по работе с файлами С++ Alex456 Общие вопросы C/C++ 4 14.06.2011 22:27
Интересный вопрос по работе с файлами в C++ FastDead Общие вопросы C/C++ 8 25.12.2009 23:13
delphi 9 или delphi 2005 вопрос о работе Doget Компоненты Delphi 0 07.07.2008 08:50