Про аргументы за позицию в окне я понял.........а а сам код............на пурике.....чего то я запутался в нем........пример можно.........?
Вопросы новичка (продолжение…)
Сообщений 781 страница 810 из 990
Поделиться78227.09.2012 21:02:34
Чем не подошел пример из справки? http://purebasic.ru/manual.php?id=477&lng=rus
Поделиться78327.09.2012 21:37:41
Пётр Спасибо.......разобрался...
Поделиться78429.09.2012 11:32:55
Я хочу реализовать в консоле на Пурике такую команду: "echo=" и после равно какой-нибудь текст. Если ввести эту команду, на экран выведится сам Текст.
Поделиться78529.09.2012 13:05:20
Я хочу реализовать в консоле на Пурике такую команду: "echo="
Дружище, ты попутал синтаксис - DOS команды и Пурик это разные вещи!
Надо отобразить строку на экране сделай так:
If OpenConsole()
Print("Hello world!")
Input()
EndIf
И посмотри справку в разделе PureBasic - Console
Поделиться78629.09.2012 13:18:02
Ничего я не по путал. Мне нужно, что бы "эхо" было в программе.
Поделиться78729.09.2012 14:22:05
Может кто сталкивался......Помогите пожалуйста с кодом....выводящий текущее всемирное время GMT в определенное место окна программы....Здесь ....http://purebasic.ru/source_code.php?id=1615 есть, но показывает разницу.....
Поделиться78829.09.2012 14:26:47
Мне нужно, что бы "эхо" было в программе.
А в чем разница?
Аааааа, в программе надо. Ну вот
echo.s echo="Hello world!" ; "echo=" и после равно какой-нибудь текст If OpenConsole() Print(echo) Input() EndIf
Или может так?
echo.s echo="Hello world!" If OpenConsole() Print ("echo=" + echo); "echo=" и после равно какой-нибудь текст Input() EndIf
Или какие то другие извращения?
Поделиться78929.09.2012 14:28:44
выводящий текущее всемирное время GMT
Синхронизацию через Интернет надо?
Поделиться79029.09.2012 15:41:50
Было бы совсем круто.......хотя на всех компах есть тырнет....
Поделиться79129.09.2012 20:16:23
Короче вы ничего не поняли.
Поделиться79213.10.2012 21:41:57
Помогите пожалуйста с загрузкой изо на imagebam.com
описание кода
Через процедуру читается файл(картинка), получается base64 кодированная строка
Из файла читается запрос, в котором заменяется размер файла и вставляется сам файл
Далее всё это отправляется и ответ
Код:InitNetwork() ;кодирование файла в base64 Procedure.s Base64_Encoder(path_to_file.s) file_size = FileSize(path_to_file.s) base64_size = file_size/100*135 If file_size>0 file = ReadFile(#PB_Any, path_to_file.s) If file *mem_file = VirtualAlloc_(#Null, file_size, #MEM_COMMIT, #PAGE_EXECUTE_READWRITE) If *mem_file If ReadData(file, *mem_file, file_size) = file_size *mem_base64 = VirtualAlloc_(#Null, base64_size, #MEM_COMMIT, #PAGE_EXECUTE_READWRITE) If *mem_base64 encoder_len = Base64Encoder(*mem_file, file_size, *mem_base64, base64_size) If encoder_len < base64_size And encoder_len > file_size result.s = PeekS(*mem_base64) CloseFile(file) VirtualFree_(*mem_file, 0, #MEM_RELEASE) VirtualFree_(*mem_base64, 0, #MEM_RELEASE) Else CloseFile(file) VirtualFree_(*mem_file, 0, #MEM_RELEASE) VirtualFree_(*mem_base64, 0, #MEM_RELEASE) result.s = "" EndIf Else CloseFile(file) VirtualFree_(*mem_file, 0, #MEM_RELEASE) VirtualFree_(*mem_base64, 0, #MEM_RELEASE) result.s = "" EndIf Else VirtualFree_(*mem_file, 0, #MEM_RELEASE) CloseFile(file) result.s = "" EndIf Else VirtualFree_(*mem_file, 0, #MEM_RELEASE) CloseFile(file) result.s = "" EndIf Else CloseFile(file) result.s = "" EndIf Else result.s = "" EndIf ProcedureReturn result.s EndProcedure ;процедура чтания строковых файлов Procedure.s read_file(file_name.s, num) size = FileSize(file_name.s) If size>0 Repeat file = OpenFile(#PB_Any, file_name.s) If file str.s = Space(size) size2 = ReadData(file, @str.s, size) If size2 = size result.s = str.s Else result.s = "ERROR" EndIf CloseFile(file) control = num+1 Else control = control+1 EndIf Until num<=control Else result.s = "ERROR" EndIf ProcedureReturn result.s EndProcedure ;процедура для загрузки изо на imagebam.com Procedure imagebam_com(mem_path) path.s = PeekS(mem_path) mem_img.s = Base64_Encoder(path.s) img_size = Len(mem_img.s)+3573 ;читаем файл с запросом file_text.s = read_file("requests\imagedam.rqs", 100) file_text.s = ReplaceString(file_text.s, "{{{img file}}}", mem_img.s) file_text.s = ReplaceString(file_text.s, "Content-Length: 0", "Content-Length: "+Str(img_size)) mem_size = Len(file_text.s) *mem_header = VirtualAlloc_(#Null, mem_size, #MEM_COMMIT, #PAGE_EXECUTE_READWRITE) PokeS(*mem_header, file_text.s, mem_size) ; file = OpenFile(#PB_Any, "1.Data") ; WriteData(file, *mem_header, mem_size) ; CloseFile(file) connection_id = OpenNetworkConnection("www.imagebam.com", 80) If connection_id Else ProcedureReturn 0 EndIf send_size = SendNetworkData(connection_id, *mem_header, mem_size) If send_size=mem_size VirtualFree_(*mem_header, 0, #MEM_RELEASE) Repeat *getdata = VirtualAlloc_(#Null, 1024, #MEM_COMMIT, #PAGE_EXECUTE_READWRITE);выделяем память под пакет html_pack_size = ReceiveNetworkData(connection_id, *getdata, 1024);получаем пакет html.s = html.s + PeekS(*getdata);складываем всё в один код Debug PeekS(*getdata) VirtualFree_(*getdata, 0, #MEM_RELEASE);осовбождаем память от пакета If html_pack_size=0;если полученый пакет = 0, то конец загрузки Break;завершаем цикл EndIf ForEver Else VirtualFree_(*mem_header, 0, #MEM_RELEASE) ProcedureReturn 0 EndIf ; SetClipboardText(html.s) EndProcedure a.s = "E:\photo\иконки\Andere\AllDay.ru_9.png"; адрес изо на винте Debug imagebam_com(@a.s)
Код:POST /sys/upload/save HTTP/1.1 User-Agent: Opera/9.80 (Windows NT 6.1; U; MRA 6.0 (build 5976); ru) Presto/2.10.289 Version/12.02 Host: www.imagebam.com Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 Accept-Language: ru,kk-KZ;q=0.9,kk;q=0.8,en;q=0.7 Accept-Encoding: base64 Referer: http://www.imagebam.com/basic-upload Connection: Keep-Alive Content-Length: 0 Content-Type: multipart/form-data; boundary=----------JkD5pNl7I9rabGqPQMt3xl ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="img_file.jpg" Content-Transfer-Encoding: base64 {{{img file}}} ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="file[]"; filename="" ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="content_type" 0 ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="thumb_size" 100 ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="thumb_aspect_ratio" resize ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="thumb_file_type" jpg ------------JkD5pNl7I9rabGqPQMt3xl Content-Disposition: form-data; name="gallery_options" 1 ------------JkD5pNl7I9rabGqPQMt3xl--
При выполнение возвращается страница с результатами, но в полях для результата пусто
в запросе изменил только кодировку с gzip на base64
Accept-Encoding: base64
Content-Transfer-Encoding: base64 вместо Content-Type: image/jpeg
Поделиться79310.11.2012 09:45:22
Доброго времени суток. Пните в сторону как узнать в чем ошибка OpenNetworkConnection
Дело в том, что везде работает нормально, а на одном компе висит пру минут и не подключается. На других компах даже не подключаясь быстренько ноль возвращает и все хорошо. Антивирус отключал, файерволов нет.
Мне бы просто направление, что глянуть про отладку соединений по сети
Вот строка подключения
lConn = OpenNetworkConnection("127.0.0.1", 6384)
Спасибо
Поделиться79410.11.2012 13:49:06
Использование асинхронных сокетов решит проблему зависания функции до установки связи.
Поделиться79512.11.2012 01:55:26
Доброго времени суток, дамы и господа! Объясните темному, почему появляются погрешности в конце значения переменной. Например, присваиваю целое значение переменной, скажем, a.f=12. Ниже по программе, скажем, вывожу эту переменную на экран, а она уже a.f=12.0000001235.
И еще вопрос. Команда Round округляет дробное до целого. А есть ли команда, округляющая до нужного знака после запятой?
Заранее спасибо!
Поделиться79612.11.2012 03:44:51
А есть ли команда, округляющая до нужного знака после запятой?
Если для дальнейших расчётов, то неимеет смысла, а если показать пользователю результат, то
value.f = 10.5464907 Debug "Result: " + StrF(value) ; we do not use the 2nd parameter, so we get a float number rounded to 10 decimal places Debug "Result: " + StrF(value,3) ; we want a result with two decimal places, no rounding needed as we have only two Debug "Result: " + StrF(value,0) ; we want a result with no decimal places, so the value is rounded
Поделиться79712.11.2012 09:28:39
Всем привет!
Возможно ли сделать так, чтобы прога сохраняла свои настройки в себе(не хочется тянуть за собой *.ini)?
Петр, не раскажите, как правильно пользоваться Procedure UnPak(*pak)?
Поделиться79812.11.2012 11:54:59
...Возможно ли сделать так, чтобы прога сохраняла свои настройки в себе(не хочется тянуть за собой *.ini)?...
В лине без проблем, а в винде нужно создать вторую программу(поместить её в датасекцию), которая будет записывать в хвост первой твои настройки.
Поделиться79912.11.2012 11:58:30
почему появляются погрешности в конце значения переменной. Например, присваиваю целое значение переменной, скажем, a.f=12. Ниже по программе, скажем, вывожу эту переменную на экран, а она уже a.f=12.0000001235.
Потому что переменная имеет ограниченный размер (Float - 4 байта) и в ней число округляется до ближайшего значения чтобы уместилась целая и дробная часть.
Возможно ли сделать так, чтобы прога сохраняла свои настройки в себе(не хочется тянуть за собой *.ini)?
Есть способы, но они не из разряда простых, потому что Windows запрещает модификацию исполняемого файла когда он работает.
Петр, не раскажите, как правильно пользоваться Procedure UnPak(*pak)?
Что за процедура?
Поделиться80012.11.2012 15:29:31
Есть способы, но они не из разряда простых, потому что Windows запрещает модификацию исполняемого файла когда он работает.
Понял, буду тянуть за собой *.ini.
Что за процедура?
; Процедура UnPak() распаковывает данные, упакованные функцией PackMemory() ; Процедуре нужно передать указатель на первый байт упакованных данных, например из DataSection ; При успешной распаковке, процедура вернет указатель на место нахождения распакованных данных ; Не забывайте освобождать память функцией FreeMemory когда распакованные данные больше не нужны Procedure UnPak(*pak) *Unpak_mem = 0 RealSize = PeekL(*pak+2) If RealSize>0 And RealSize<10000000 *mem = AllocateMemory(RealSize+10) If *mem If UnpackMemory(*pak, *mem) = RealSize *Unpak_mem = *mem Else FreeMemory(*mem) EndIf EndIf EndIf ProcedureReturn *Unpak_mem EndProcedure *mem = UnPak(?TextPak) If *mem Text.s = PeekS(*mem) FreeMemory(*mem) endif
Я так понял, в Text.s помещается содержимое файла *.pak? И возможно ли работать с тремя файлами?
Поделиться80112.11.2012 15:45:19
Я так понял, в Text.s помещается содержимое файла *.pak?
Да, при условии что этот архив был упакован функцией PackMemory().
И возможно ли работать с тремя файлами?
Данные распаковываются не из файла, а из памяти. Если процедуре поочередно передать указатель на требуемые области памяти с упакованными данными, то она распакует эти данные.
Поделиться80212.11.2012 15:55:59
Понял, спасибо.
Поделиться80315.11.2012 00:10:36
lakomet, Пётр, спасибо! Теперь понятно.
Поделиться80517.11.2012 01:08:16
GetGadgetText(1) вызывается перед SetGadgetState(1, 2).
Поделиться80617.11.2012 01:13:44
То что был добавлен пункт в список не значит что он стал активным.
А поскольку активный пункт в коде не задан, возвращается пустая строка.
Поделиться80717.11.2012 09:50:30
Понял, спасибо.
Поделиться80817.11.2012 11:19:57
Подскажите пример чата на Пурике пожалуйста.
Поделиться80917.11.2012 11:32:38
То что был добавлен пункт в список не значит что он стал активным.А поскольку активный пункт в коде не задан, возвращается пустая строка.
Понять - понял, а как сделать не соображу. Попробовал так:
OpenWindow(0, 0, 0, 270, 140, "ComboBoxGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) ComboBoxGadget(1, 10, 40, 250, 21) For a = 1 To 5 AddGadgetItem(1, -1,"ComboBox item " + Str(a)) SetGadgetState(1, a) Next SetGadgetState(1, 0) ; set (beginning with 0) the third item as active one Debug GetGadgetText(1) Debug GetGadgetState(1) Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
но в строке всегда возвращается ComboBox item 1. Можете показать пример?
Поделиться81017.11.2012 14:21:26
но в строке всегда возвращается ComboBox item 1.
Строка выше ведь делает его активным.
SetGadgetState(1, 0) ; set (beginning with 0) the third item as active one
Подскажите пример чата на Пурике пожалуйста.
http://purebasic.info/phpBB2/viewtopic.php?p=8592#8592
http://purebasic.info/phpBB2/viewtopic.php?t=922
Похожие темы
Какая версия? | OffTop | 03.10.2021 |
Мне постоянно пищет вот это | Вопросы по PureBasic | 14.10.2011 |
Размер экрана в пикселях | Вопросы по PureBasic | 13.02.2011 |
консоль | Вопросы по PureBasic | 19.03.2015 |
Полноэкранные приложения на purebasic | Вопросы по PureBasic | 08.03.2011 |