Автор | Сообщение |
|
| постоянный участник
|
Пост N: 716
Зарегистрирован: 12.09.06
|
|
Отправлено: 04.11.08 14:11. Заголовок: Как делать программу для Сервера-Терминала ?
Всем привет ! Подскажите как уже готовую программу переделать под Сервер-Терминалов ! Что нужно учитывать ? Где и как располагать временные файлы ?
|
|
|
Ответов - 28
, стр:
1
2
All
[только новые]
|
|
|
| |
Пост N: 25
Зарегистрирован: 17.10.05
|
|
Отправлено: 05.11.08 13:10. Заголовок: интерфейс ГУИ или ко..
интерфейс ГУИ или консольный? Если консольный, то надо поплясать с бубном вокруг шрифтов, чтоб символы были достаточно крупные, потому что полноэкранного режима в терминале нет. Надеюсь, у тебя не 16-разрядное приложение? 16-ти сильно садят терминал-сервер, особенно если в Клиппер-программе не пропатчен опрос клавиатуры.. Если админ сервера позволяет, то временные файлы лучше располагать на том же терминал-сервере.
|
|
|
|
| постоянный участник
|
Пост N: 720
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.11.08 22:55. Заголовок: Интерфейс консольный..
Интерфейс консольный ! Программа на хХарборе, использую GTWVT-терминал во весь экран. Шрифты крупные поддерживают все режимы. Смотри картинку: Админ сервера позволяет сделать все. Куда "пихать" временные файлы и выборки ? Т.к. у меня задача файл-серверная, то все выборки я помещал на клиентской машине в папку C:\TEMP Как на хХарборе узнать что задача стартует на терминале-сервера и как сделать для каждого клиента свою временную папку ?
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 06.11.08 10:44. Заголовок: Для каждого сеанса(п..
Для каждого сеанса(пользователя) - уникальный ID ( 3 знака хватит), временная папка - C:\temp\%ID%
|
|
|
|
| |
Пост N: 51
Зарегистрирован: 04.12.07
|
|
Отправлено: 06.11.08 11:15. Заголовок: Поднимал терминальны..
Поднимал терминальные сервера, настраивал права пользователей, даже хотел переносить каталог "Documents and Settings" на другой диск. Поэтому мой совет такой: использовать для TEMP только 100% гарантированный ресурс. Предыдущий совет может не сработать, т.к. прав может и не быть. Сейчас у меня в двух офисах именно так - запрещено всё, что не нужно. Для этого необходимо прочесть в ветке реестра HKCU\Enviroment\ значение TEMP или TMP. Но там имеется %USERPROFILE%. Чтобы его получить проще воспользоваться функцией C_getspecialfolder(CSIDL_PROFILE) из MiniGUI-Ext, смотри \MiniGUI\SOURCE\h_winapimisc.prg
|
|
|
|
| постоянный участник
|
Пост N: 721
Зарегистрирован: 12.09.06
|
|
Отправлено: 06.11.08 21:39. Заголовок: Спасибо вам большое ..
Спасибо вам большое ! Буду пробовать....
|
|
|
|
| |
Пост N: 52
Зарегистрирован: 04.12.07
|
|
Отправлено: 10.11.08 09:47. Заголовок: Вот вспомнил, что ка..
Вот вспомнил, что как-то я хотел сделать перемещаемый профиль в терминале, а это значит, что путь к профилю будет в формате UNC (\\ServerName\...). Не знаю как xHarbour, а Clipper этого не понимал. Кроме того, временные файлы, лежащие где-то на другом сетевом ресурсе - не есть хорошо. Поэтому я бы использовал другую схему размещения временных файлов: 1. Получить каталог временных файлов стандартными средствами. Обычно, это \Windows\Temp. Туда всегда имеют доступ все программы. 2. Сформировать имя временного файла в виде [Буква(ы)]+[ID сессии]+[Счетчик номера].[ext] = 8.3 символов 3. Буква может быть одна, например F. Но, если Ваших программ будет работать несколько, то следует их идентифицировать. Поэтому в качестве идентификатора программы следует использовать не более трёх букв, например программа для ЖКХ - идентификатор VKH 4. В моих программах все пользователи проходят идентификацию, и, номер записи из зашифрованной таблицы, по которой идентифицировался пользователь, я использую в качестве идентификатора его сессии. Каждое дополнительное подключение пользователя обязательно через другой логин и как следствие - новая сессия и идентификатор. Двух символов обычно хватает - 99 сессий. 5. Затем три символа порядкового номера временного файла - от 001 до 999 и затем по кругу. Примерно так: // MyProgram.ch DEFINE PROGRAM_ID "VKH" ...... FUNCTION GetTempFileName( nSessionID, cExt ) // Для однопользовательских программ nSessionID = 1 // Иначе его нужно передавать или использовать PUBLIC переменную LOCAL cFileName STATIC nCounter := 0 DEFAULT nSessionID := 1, cExt := "TMP" nCounter = nCounter + 1 nCounter = if( nCounter = 1000, 1, nCounter ) cFileName := PROGRAM_ID + PADL( nSessionID, 2, "0" ) + PADL( nCounter, 3, "0" ) + "." + cExt cFileName := upper( cFileName ) // Лучше чётко определять регистр для кроссплатформенных приложений RETURN cFileName
|
|
|
|
| постоянный участник
|
Пост N: 756
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.11.08 22:27. Заголовок: Для временных файлов..
Для временных файлов я использую свой каталог \TEMP, могу и использовать \Windows\Temp Мне непонятно как в своей хХарборовской программе для СЕРВЕРА-Терминала определить кто ( какой пользователь) запустил мою программу ??? Я бы добавил к своей переменной \TEMP\ имя_пользователя и вот готов временный каталог для этого пользователя ! Тогда наверно лучше использовать %USERPROFILE% и не заморачиваться с временными именами файлов. Т.к. иногда бывает нужно знать конкретное имя файла, например для FastReport..... Посмотрел h_winapimisc.prg и даже переделал в отдельную программу, НЕТ ТАМ доступа к переменной: \Documents and Settings\{USERPROFILE}\Local Settings\Temp Как ее можно получить ? Или нужно самому добавлять к %USERPROFILE% \Local Settings\Temp ?
|
|
|
|
| |
Пост N: 1129
Зарегистрирован: 17.05.05
|
|
Отправлено: 29.11.08 09:42. Заголовок: Andrey пишет: Шрифт..
Andrey пишет: цитата: | Шрифты крупные поддерживают все режимы |
| Что за шрифт если не секрет ?
|
|
|
|
| постоянный участник
|
Пост N: 757
Зарегистрирован: 12.09.06
|
|
Отправлено: 29.11.08 11:45. Заголовок: Dima пишет: Что за ..
Dima пишет: цитата: | Что за шрифт если не секрет ? |
| Использую библиотеку GTWVT3а. Сам терминал переделал Alexander Prostoserdov смотри http://clipperforwindows.narod.ru При линковки этой библиотеки шрифт крупный под различные расширения экрана и печать ДОС-овская есть... Какой там шрифт он использует я не знаю, спроси у него сам. Высылаю на пробу http://files.mail.ru/8PXOKT
|
|
|
|
| |
Пост N: 1130
Зарегистрирован: 17.05.05
|
|
Отправлено: 29.11.08 11:57. Заголовок: Andrey пишет: Испол..
Andrey пишет: цитата: | Использую библиотеку GTWVT3а |
| А поделиться не сложно ? ;) PS Напомню что я поделился с тобой одним купленным продуктом ;)
|
|
|
|
| постоянный участник
|
Пост N: 758
Зарегистрирован: 12.09.06
|
|
Отправлено: 29.11.08 15:18. Заголовок: Дима, все что угодно..
Дима, все что угодно, только не это. Обещал Александру (он в Москве рядом живет, я с ним работаю по некоторым проектам) без него не распространять. Тем более что он вообще-то собирался выложить в публичное использование, но когда не знаю. Еще раз извини....
|
|
|
|
|
| |
Пост N: 1131
Зарегистрирован: 17.05.05
|
|
Отправлено: 29.11.08 15:43. Заголовок: Andrey OK :) А скол..
Andrey OK :) А сколько стоит библа ? Ты по чем брал ? На документацию к библиотеке хотя бы можно взглянуть ?
|
|
|
|
| постоянный участник
|
Пост N: 759
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.12.08 20:51. Заголовок: Dima пишет: А сколь..
Dima пишет: цитата: | А сколько стоит библа ? Ты по чем брал ? |
| Извини за задержку ответа, что то пропустил твой вопрос. Библиотеку брал давно, уже года полтора прошло. Просил недавно кое-что переделать мне. Делает.... Задачи с этим терминалам очень нравятся бухгалтерам из-за крупного шрифта. Пальцем тычат в 1С и говорят что такого им шрифта не надо.... Позвонил Александру и задал ему твой вопрос. Пока думает.... Доки нет никакой, там все просто. Пример ДОС печати могу выложить.
|
|
|
|
| |
Пост N: 78
Зарегистрирован: 12.02.08
|
|
Отправлено: 06.12.08 09:10. Заголовок: А сколько стоит библ..
цитата: | А сколько стоит библа ? Ты по чем брал ? |
| Можно нажать Alt+Enter - получиш консоль в полноэкранном режиме разрешением 640х480
|
|
|
|
| |
Пост N: 27
Зарегистрирован: 17.10.05
|
|
Отправлено: 08.12.08 16:06. Заголовок: В терминальном режим..
В терминальном режиме полноэкранного разрешения не бывает.valery2 пишет: цитата: | Можно нажать Alt+Enter - получиш консоль в полноэкранном режиме разрешением 640х480 |
|
|
|
|
|
| постоянный участник
|
Пост N: 767
Зарегистрирован: 12.09.06
|
|
Отправлено: 24.12.08 15:52. Заголовок: Не удается запустить..
Не удается запустить бат файл со следующим содержанием: cmd /c start C:\Documents and Settings\InetComp\Local Settings\Temp\ABONENT4\BACKUP_DB.BAT пробовал cmd /c start "C:\Documents and Settings\InetComp\Local Settings\Temp\ABONENT4\BACKUP_DB.BAT" тоже не работает. Подскажите пожалуйста, кто может .....
|
|
|
|
| |
Пост N: 1148
Зарегистрирован: 17.05.05
|
|
Отправлено: 24.12.08 17:15. Заголовок: Andrey пишет: cmd /..
Andrey пишет: цитата: | cmd /c start "C:\Documents and Settings\InetComp\Local Settings\Temp\ABONENT4\BACKUP_DB.BAT" |
| Вот так работает cmd /c "C:\Documents and Settings\InetComp\Local Settings\Temp\ABONENT4\BACKUP_DB.BAT"
|
|
|
|
| постоянный участник
|
Пост N: 3245
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.02.14 12:38. Заголовок: Народ, помогите сове..
Народ, помогите советом, как правильно нужно сделать ? Есть сервер Win2008, на нем клиенты подключаются через Сервер терминалов к моей задаче. Есть отдельная программа на МиниГуи которая может запускаться в трей и каждые 5 минут отправляет измененные записи на сайт. 1) Как организовать запуск этой программы чтобы она всегда работала (т.е. после перезагрузки сервера) ? 2) Как сделать, чтобы отправку записей юзера видели у себя на раб.столе Т.е. какой механизм использовать можно... Сейчас моя программа в трее пишет: Отправлено 15 записей. Но эту надпись же видит только тот пользователь от кого стартовала программа. Как сделать чтобы все видели это сообщение ?
|
|
|
|
| |
Пост N: 98
Зарегистрирован: 21.04.13
|
|
Отправлено: 27.02.14 13:33. Заголовок: Совместная работа
1) Программу лучше эксплуатировать не на сервере, а на виртуальной машине, которую нужно создать и запускать на этом сервере. 2) Выделить отдельную учетную запись для работы этой программы. 3) Виртуалку запускать в режиме автологона для этой учетки - в системном реестре есть такие ключи. Тогда виртуалка поднимется при любом перестарте сервера. 4) Для запуска задачи - использовать Планировщик виртуалки - создать задание Планировщика -запускать программу при условии входа в виртуалку под нужной учеткой 5) для других юзеров - использовать другую часть программы - пусть просто читают лог, который создает первая программа
|
|
|
|
| постоянный участник
|
Пост N: 3246
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.02.14 15:29. Заголовок: petr707 пишет: 1) П..
petr707 пишет: цитата: | 1) Программу лучше эксплуатировать не на сервере, а на виртуальной машине, которую нужно создать и запускать на этом сервере. |
| А можете пояснить почему ? petr707 пишет: цитата: | 5) для других юзеров - использовать другую часть программы - пусть просто читают лог, который создает первая программа |
| Тогда нужно делать другую программу на МиниГуи, которая будет сидеть в трее и показывать лог програмы отправки ? Так ?
|
|
|
Ответов - 28
, стр:
1
2
All
[только новые]
|
|