Форум: "Начинающим";
Текущий архив: 2010.01.31;
Скачать: [xml.tar.bz2];
ВнизПроверка компа. Найти похожие ветки
← →
Xmen (2009-12-09 14:43) [0]Привет мастерам!
Работаю с сервером через сеть. В сервере открыт несколько папок. Клиентского комп работает с этими папками. Как проверить сервер подключен ли к сети. Если связи нет то должно выдавать сообщение об этом.
← →
Медвежонок Пятачок © (2009-12-09 14:46) [1]а сейчас если связи нет, то доступ все равно есть и нет сообщения?
← →
clickmaker © (2009-12-09 14:48) [2]> В сервере открыт несколько папок. Клиентского комп работает
> с этими папками
чем открыт? как работает?
← →
Xmen (2009-12-09 14:50) [3]может клиентский комп или сервер не пингуется, это как определить.
← →
Медвежонок Пятачок © (2009-12-09 14:52) [4]зачем?
и что делать, если пингуется, но папок нет?
← →
Xmen (2009-12-09 14:53) [5]там открыт общий доступ.
из одной папки читается файл в другую копируется в определенную подпапку.
← →
Медвежонок Пятачок © (2009-12-09 14:55) [6]там открыт общий доступ.
Ну если открыт, то зачем проверять?
← →
Xmen (2009-12-09 14:55) [7]
> Медвежонок Пятачок © (09.12.09 14:52) [4]
> зачем? и что делать, если пингуется, но папок нет?
Там будут и с общем доступом.
мне нужно проверить связь.
← →
Медвежонок Пятачок © (2009-12-09 14:58) [8]а сейчас если связи с сервером нет, то доступ к серверу все равно есть и нет сообщения?
← →
clickmaker © (2009-12-09 14:59) [9]> из одной папки читается файл в другую копируется в определенную
> подпапку.
тогда ловить исключения или проверять коды возвратов функций API и GetLastError
← →
Медвежонок Пятачок © (2009-12-09 14:59) [10]мне нужно проверить связь.
Это абстрактное понятие.
Связь может быть, но доступа не будет.
О чем юзер узнает посредством той самой связи которая есть. А доступа нет.
А связь есть. А доступа нет. Хотя и папки есть.
← →
Xmen (2009-12-09 15:09) [11]ну тогда так
сервере есть папка с постоянным доступом. подключен к локальной сети, его ip 192.162.58.1.
Сервер может быть отключён по техническим проблемам или не доступен по сети.
А может быт и такая ситуация что клиентский компьютер не может войти в сеть или что то в этом роде.
что я делаю ручном режиме.
1. Пингую в ip 192.162.58.1.
2. проверяю папки.
3. проверяю свой (клиентский) комп.
Как можно это сделать программно.
← →
Медвежонок Пятачок © (2009-12-09 15:11) [12]Как можно это сделать программно.
на кой леший это надо?
боишсья, что с выключенного сервера кто-то скачает файл, если у тебя проверки не будет?
← →
Xmen (2009-12-09 15:30) [13]Да нет.
Сделал когда то почтовую прогу для нужд фирмы.
прога из 3 частей.
1. Клиент для филиала
2. Клиент для главного офиса
3. Серверная часть.
Идея такая в фирме есть примерно 20 отделов. каждый отдел имеет свой шифр. клиент филиала в архивированном виде отправляет файл для отдела через зашишенный канал. серверная прога принимает архивированный файл, открывает и по шифру файла помешает в определённую папку. (организовано работа с базой FiriBird) Это часть работает нормально. На сервере открыто доступ 2 папкам это архив и прем/отправка. Архив ведется по отправленным и принятием файлам.
клиент главного филиала сформирует файл для филиалов и помешает его в архив отправленных и в папку отправления. Вот здесь мне надо проверка сервера на работе с сетью. а то всякое может быть, если отрицательны ответ то должно появится сообщение.
← →
Медвежонок Пятачок © (2009-12-09 15:31) [14]то должно появится сообщение.
а сейчас, если связи с сервером нет, то доступ к серверу все равно есть и нет сообщения?
← →
Xmen (2009-12-09 15:39) [15]
> Медвежонок Пятачок © (09.12.09 15:31) [14]
> то должно появится сообщение.а сейчас, если связи с сервером
> нет, то доступ к серверу все равно есть и нет сообщения?
>
доступ к папке есть, нежно проверит сервер, доступен ли он для коннекта.
← →
Медвежонок Пятачок © (2009-12-09 15:40) [16]сказка про белого бычка.
ну нет допустим доступа.
и ты без проверки будешь копировать файл с одной шары на другую.
И что при этом?
Все скопируется и не будет сообщения об ошибке?
← →
clickmaker © (2009-12-09 15:42) [17]> нежно проверит сервер
попроси админа: "Проверь сервер. Только нежно"
← →
Медвежонок Пятачок © (2009-12-09 15:42) [18]доступ к папке есть, нежно проверит сервер, доступен ли он для коннекта.
Доступ к папке есть, но сервер недоступен для коннекта.
Какие твои действия?
← →
Xmen (2009-12-09 15:48) [19]Мне нужно это программно проверит, чтобы клиентская программа не завис.
← →
Медвежонок Пятачок © (2009-12-09 15:51) [20]в момент проверки все есть.
сразу после проверки уже нет (потух свет).
и твой программа завис, хотя проверка сказала, что все ок.
твои действия?
← →
Xmen (2009-12-09 15:58) [21]Это и хотел у вас узнать. :)
если я бы знал это то не спрашивал бы.
← →
clickmaker © (2009-12-09 16:01) [22]> чтобы клиентская программа не завис
если сервер недоступен, то по таймауту отвиснет.
останется поймать код ошибки.
Его все функции, которые можно использовать для копирования, возвращают так или иначе
← →
Медвежонок Пятачок © (2009-12-09 16:02) [23]и пинг здесь совершенно не при чем.
вот например тебе надо купить в магазине чупа-чупс.
но ты осторожный, и не хочешь ходить в магазины зря.
ты выглядываешь в окно и видишь, что в магазине горит свет и слышны голоса.
ты одеваешься и идешь за чупа-чупсом.
а магазин на самом деле закрыт.
а свет и голоса - это рабочий коллектив магаза празднует католическое рождество. все уже час как пьяные, выручка сдана, касса закрыта и главное все чупа-чупсы уже съедены.
← →
Anatoly Podgoretsky © (2009-12-09 16:10) [24]> Медвежонок Пятачок (09.12.2009 16:02:23) [23]
У них что закуски не хватило?
← →
Медвежонок Пятачок © (2009-12-09 16:12) [25]не знаю, возможно с рождеством я и ошибся.
наверное они отмечали какой-то языческий культ поклонения чупачупсу.
← →
Xmen (2009-12-10 07:01) [26]вам прямо в башорг :)
← →
Xmen (2009-12-10 07:24) [27]ещё один вопрос как можно определить объём диска. есть ли диск полный программа должна об этом сообщить.
← →
Xmen (2009-12-10 07:28) [28]Просто нужно узнать оставшийся пустое место диска.
← →
AIK © (2009-12-10 08:34) [29]
var
b: Byte;
begin
b:=ord("C")-64; //Локальный диск С
Edit1.Text:= Inttostr(diskfree(b));
end;
← →
Xmen (2009-12-10 08:46) [30]а так можно
var
FreeBytesAvailableToCaller: TLargeInteger;
FreeSize: TLargeInteger;
TotalSize: TLargeInteger;
frsp:Double;
begin
GetDiskFreeSpaceEx("D:",FreeBytesAvailableToCaller,Totalsize,@FreeSize);
frsp:=FreeSize/(1024*1024*1024);
ShowMessage(FloatToStr(frsp));
ShowMessage(FloatToStr(FreeSize));
который из них правильно работает.
пока у меня оба правильно показали размер
← →
AIK © (2009-12-10 09:06) [31]
diskfree
более проше
смотри в модулеSysUtils
, сама функцияDiskFree
так же используетGetDiskFreeSpaceEx
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2010.01.31;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.005 c