+ Ответить в теме
Показано с 1 по 17 из 17
  1. #1

    Офлайн и онлайн

    Есть файл на сервере, при включеном интернете он отображается как текстовый файл в memo1
    Как сделать, что бы в офлайн режиме тот же файл отображался в memo1 ?

    Тоесть есть код который внутри программы
    PHP код:
    File_Put_Contents('data/file.txt'File_Get_Contents("Ссылка на файл на сервере"));
    c("memo1")->text File("data/file.txt"); 
    Он сохраняет файл, в DevelStudio\Project1\data\file.txt и ведет синхронизацию с файлом на сервере, но при выключении интернета он не берет из этого файла те данные которые он считал с сервера и записал в file.txt
    Хотя если зайти в DevelStudio\Project1\data и открыть file.txt то там все данные будут но они не считываются. А программа выдает ошибку

    Скажу проще как сделать что бы файл на сервере отображался и в онлайн и в офлайн режиме?
    Считывался или с сервера в онлайн режиме, или с компьютера в офлайн режиме.

    И что бы при заходе в программу было окно выбора, офлайн или онлайн режим.

    Кто сможет помочь, буду благодарен!
    Последний раз редактировалось AxelD; 02.02.2012 в 20:39.

  2. #2
    Ну вообще логически, из txt файла на сервере не может считываться информация когда интернет отключен
    Мой сайт: www.SnAkE.uCoz.ua
    Форум: www.SnAkE.Gip-Gip.Ru

  3. #3
    Друг, я же написал, когда интернет включен программа считывает информацию с сервера, а когда интернет выключен он считывает из текстового файла который на компьютере,который записался в data/file.txt при включенном интернете.

  4. #4
    Никто не ответит??!

  5. #5
    ДЫк значит проблема в вашем коде, что вам мешает получить содержимое локального файла таким же образом как и удаленного?
    Последний раз редактировалось Let4ik_Russia; 03.02.2012 в 19:31.
    http://pxeboot.narod.ru/
    Использую DevelStudio version 2.0.0.9 plus

  6. #6
    При включенном интернете она берет текстовый файл с сервера и отображает в memo1 при этом она его записала в текстовый файл в корне программы на компьютере,вручную этот файл можно найти и прочитать
    и там будет все тоже самое что и на сервере. Но когда интернет выключен вот этот код пытается подключится к серверу и считать файл(из за недоступности интернета она пишет ошибку) как сделать что бы без интернета она считала данные с текстового файла на компьютере, который записался когда был доступен интернет.

    Может я просто непонятно объясняю...

  7. #7
    Дак проверяйте доступен ли удаленный файл, если нет, то проверяйте локальный файл, если не пустой, то выводим его в нужное место, чего сложного?
    http://pxeboot.narod.ru/
    Использую DevelStudio version 2.0.0.9 plus

  8. #8
    Файл на сервере,полностью доступен и там есть запись, файл на компьютере полностью доступен и там есть запись. Надо что бы с интернетом, читал файл с сервера, а без интернета с компьютера. Какой код должен быть, у меня не получается додумать..

  9. #9
    Чё в этом сложного???
    Вот держи =) -> Скачать исходник
    Армен обиделся "убрал админ"
    haker пишет: Андрей может ты успокоишься? Модератором тебе не быть с таким поведением...

  10. #10
    Это загрузка файла в memo1 это все я знаю как делать, у меня другая проблема. но все ровно спасибо.

  11. #11
    Ладно,если так все запущенно, тогда как сделать что бы вылезало окно при открытии программы "отсутствует интернет" ? а если он есть то открывать программу напрямую.

  12. #12
    Пользователь
    Регистрация
    29.06.2011
    Сообщений
    116
    В создании сделайте проверку подключения к интернету, если есть грузите напрямую с сервера в memo1 и сохраняйте в файл, если нет, делаем проверку на наличие файла, есть, грузим, нет, выдаем какую-нибудь ошибку.

  13. #13
    Опытный Аватар для kpa6
    Регистрация
    28.06.2011
    Адрес
    Россия, Мурманск
    Сообщений
    353
    Что же вам так лень пользоваться поиском?!

  14. #14
    Опытный Аватар для kpa6
    Регистрация
    28.06.2011
    Адрес
    Россия, Мурманск
    Сообщений
    353
    http://community.develstudio.ru/show...87%D0%B0%D0%BD
    PHP код:
    $memo c("memo1"); // в memo1 будет отображаться тексты - интернет работет или интернет не работает
    $memo->text '';
    $host 'google.com';
    //переменная $ip будет содержать ip адрес.
    $obj = new COM ('winmgmts://localhost/root/CIMV2');
    $res $obj->ExecQuery('SELECT * FROM Win32_PingStatus WHERE Address = "' $host '"');

    ForEach(
    $res AS $ping)
    {
        If(
    $ping->StatusCode === 0)
        {
            If(
    StrToLower($host) == $ping->ProtocolAddress)
            {
                
    $memo->text .= $host " is responding\n";
            }
            Else
            {}
            
    $memo->text .= "интернет работает";
              
    $ip $_SERVER[IP_ADDRESS];
             
    //  можно занести в переменную или вывести в едит1, как вам удобно!
               
    }
        Else
        {
            
    $memo->text .="интернет не работает";
    MessageBox("Подключите интернет и перезапустите""Нет интернет соединения");
    app::close();/// в этом случае программа закроется если нет интернета!
        
    }


  15. Пользователь сказал cпасибо:

    AxelD (04.02.2012)

  16. #15
    в моем примере же есть..при отсутствии интернета выдавало сообщение "Проверьте интернет соединение"
    Армен обиделся "убрал админ"
    haker пишет: Андрей может ты успокоишься? Модератором тебе не быть с таким поведением...

  17. Пользователь сказал cпасибо:

    AxelD (04.02.2012)

  18. #16
    Админ Аватар для vGhost
    Регистрация
    27.07.2011
    Адрес
    Самара
    Сообщений
    2,033
    1) не используйте папку data. Она имеет иное предназначение.

    2) Внимание рабочий говнокод:

    PHP код:
    err_no();
    $txt File_Get_Contents("Ссылка на файл на сервере");
    err_yes();
    If(
    $txt)
    {
        
    File_Put_Contents(DOC_ROOT 'cache/file.txt'$txt);
        
    c("memo1")->text $txt;
    }
    Else
    {
        
    alert('Нет инетрнета, будет загружена локальная копия');
        
    c("memo1")->loadFromFile(DOC_ROOT 'cache/file.txt');


    З.Ы. почему говнокод? Потому что глушить ошибки через err_no не есть хорошо, а через curl лень писать. Можете переписать по правильному используя cUrl заменив вот эту часть:
    PHP код:
    err_no();
    $txt File_Get_Contents("Ссылка на файл на сервере");
    err_yes(); 

    __________________________________________________ ________
    Угу, угу... А потом достал из морозильной камеры - и степлером его, степлером!
    Для новичков
    __________________________________________________ ________
    Я практически совсем не задаю вопросов, не думали почему? Потому что я пользуюсь поиском и всегда нахожу ответы на свои вопросы!

  19. Пользователь сказал cпасибо:

    AxelD (04.02.2012)

  20. #17
    Всем спасибо, выручили!

Ваши права

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