purebasic.info

PureBasic forum
Текущее время: Сб июл 21, 2018 8:06 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 3446 ]  На страницу Пред.  1 ... 225, 226, 227, 228, 229, 230  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 14, 2010 7:59 am 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вт апр 14, 2009 7:22 pm
Сообщений: 300
Благодарил (а): 1 раз.
Поблагодарили: 13 раз.
Пункты репутации: 0
Xland
http://forum.script-coding.info/viewforum.php?id=2
можно найти много ответов на аналогичные вопросы


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 14, 2010 11:01 am 
Не в сети
доцент
Аватар пользователя

Зарегистрирован: Сб июл 18, 2009 12:46 pm
Сообщений: 44
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Возникла проблема в связи с тем, что в гаджетах Пурика нет холста (canvas), чтобы вставить его в свою программу.
Не подскажете какие-либо библиотеки с недостающими гаджетами для Пурика?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 14, 2010 11:14 am 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11206
Благодарил (а): 4 раз.
Поблагодарили: 421 раз.
Чем не подходит ImageGadget + 2DDrawing?

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 14, 2010 11:33 am 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6327
Благодарил (а): 19 раз.
Поблагодарили: 189 раз.
Пункты репутации: 48
MrApple писал(а):
Возникла проблема в связи с тем, что в гаджетах Пурика нет холста (canvas),

Маленький пример:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
UsePNGImageDecoder() 
LoadImage(1,"Твой писунок.png")
LoadFont(1, "Comic Sans MS", 14)
        iw=ImageWidth(1)
        ih=ImageHeight(1)
        OpenWindow(0,0,0,iw,ih,"window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
        CreateImage(0,iw,ih)
        StartDrawing(ImageOutput(0))
        Box(0,0,iw,ih,GetSysColor_(#COLOR_BTNFACE))
        DrawingMode(#PB_2DDrawing_AlphaBlend)
        DrawImage(ImageID(1),0,0)
        DrawingMode(#PB_2DDrawing_Transparent)
        For Angle = 0 To 360 Step 3
        LineXY(100, 100, 100+Cos(Angle)*90, 100+Sin(Angle)*90, RGB(Random(255), Random(255), Random(255)))
      Next Angle
  DrawingFont(FontID(1))
        DrawText(40,10,"Рисуем и пишем!!!",RGB(255,0,255))
        StopDrawing()
        ImageGadget(0,0,0,iw,ih,ImageID(0))
        Repeat
        Until WaitWindowEvent()=#PB_Event_CloseWindow
        End


_________________
read-only


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 14, 2010 12:09 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Чт фев 26, 2009 1:53 am
Сообщений: 1154
Откуда: Беларусь, Витебск
Благодарил (а): 22 раз.
Поблагодарили: 1 раз.
Пункты репутации: 0
Понравилась фраза "твой писунок".
Это опечатка или ударение на последнем слоге? :)

_________________
Ubuntu 10.10, PureBasic 4.61 x86
Изображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 14, 2010 12:42 pm 
Не в сети
доцент
Аватар пользователя

Зарегистрирован: Сб июл 18, 2009 12:46 pm
Сообщений: 44
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Цитата:
Чем не подходит ImageGadget + 2DDrawing?

Наверное, тем, что картинку нельзя очищать и перерисовывать - иначе говоря, обновлять. Для этого годится только экран для спрайтов.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 14, 2010 1:05 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11206
Благодарил (а): 4 раз.
Поблагодарили: 421 раз.
MrApple писал(а):
Наверное, тем, что картинку нельзя очищать и перерисовывать - иначе говоря, обновлять
:shock: Покажи пример, в котором не получается очистить или обновить картику.

MrApple писал(а):
Для этого годится только экран для спрайтов.
:D Очень смелое утверждение!
Вот буквально на днях обсуждали полную очистку рисунка http://purebasic.mybb.ru/viewtopic.php?id=17&p=30

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 14, 2010 6:44 pm 
Не в сети
доцент
Аватар пользователя

Зарегистрирован: Сб июл 18, 2009 12:46 pm
Сообщений: 44
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Да я не утверждаю, я ж говорю "наверное" :)

Просто делаю редактор, где в одном гаджете (списке) выбираешь рисунок, а в другом этот рисунок вставляешь левым кликом или удаляешь правым кликом. По типу расстановки объектов.
И насчёт второго гаджета возникают трудности, как это осуществить.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 14, 2010 7:22 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11206
Благодарил (а): 4 раз.
Поблагодарили: 421 раз.
MrApple писал(а):
вставляешь левым кликом или удаляешь правым кликом

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
If LoadImage(0,"PureBasic.bmp")=0
  MessageRequester("", "Нет рисунка!", #MB_OK|#MB_ICONERROR)
  End
EndIf
 
CopyImage(0,1)
 
OpenWindow(0,0,0,180,80,"",#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
ImageGadget(0,8,20,32,32,ImageID(1))
 
Repeat
  Event=WaitWindowEvent()
  If Event=#PB_Event_Gadget
    If EventGadget() = 0
      Select EventType()
        Case #PB_EventType_LeftClick
          CopyImage(0,1)
          SetGadgetState(0,ImageID(1))
        Case #PB_EventType_RightClick
          If StartDrawing(ImageOutput(1))
            Box(0,0,ImageWidth(1),ImageHeight(1),0)
            StopDrawing()
            SetGadgetState(0,ImageID(1))
          EndIf
      EndSelect
    EndIf
  EndIf
Until Event=#PB_Event_CloseWindow



Вложения:
Рисунок.rar [12.45 KiB]
Скачиваний: 267

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)
Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт дек 16, 2010 2:01 pm 
Не в сети
доцент

Зарегистрирован: Пт сен 03, 2010 5:12 pm
Сообщений: 41
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Крайне идиотский вопрос, только не смейтесь пожалуйста.
Как удалить 2 символа в начале строки?
В конце удаляется просто: F$ = RSet(F$, (Len(F$)-2)). А вот в начале затык, везде стартовая позиция в параметрах, не конечная.

Нет, можно конечно реверснуть строку, отрезать конец и реверснуть обратно. Но вот боюсь боженька меня покарает за такую содомию.

P.S. И вот ещё: при поиске по форуму часто вылезает эта тема, без указания на какой странице искомый результат. 230 страниц мне не осилить, я уже пытался. Есть какой-то хинт для поиска?

_________________
PureBasic 4.40, Droopy, PureDispHelper


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт дек 16, 2010 2:31 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11206
Благодарил (а): 4 раз.
Поблагодарили: 421 раз.
klalofudo писал(а):
В конце удаляется просто: F$ = RSet(F$, (Len(F$)-2))

Лучше так F$ = Left(F$, (Len(F$)-2))

klalofudo писал(а):
Как удалить 2 символа в начале строки?

Код:
1
2
3
F$="0123456789"
F$ = Right(F$, (Len(F$)-2))
Debug F$



klalofudo писал(а):
P.S. И вот ещё: при поиске по форуму часто вылезает эта тема, без указания на какой странице искомый результат. 230 страниц мне не осилить, я уже пытался.
Нужно немонго пошаманить с настройками поиска.

Изображение

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт дек 16, 2010 2:35 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6327
Благодарил (а): 19 раз.
Поблагодарили: 189 раз.
Пункты репутации: 48
klalofudo писал(а):
Как удалить 2 символа в начале строки?


Справка по String:
Код:
1
Debug Mid("Hello", 2) ; Will display "ello"


Ну в случае 2-х левых символов ест-но в виде
Код:
1
Debug Mid("Hello", 3) ; Will display "llo"


В поиске настроить:
Показывать результаты как: Х Сообщения Темы

_________________
read-only


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт дек 17, 2010 4:18 pm 
Не в сети
доцент

Зарегистрирован: Пт сен 03, 2010 5:12 pm
Сообщений: 41
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Благодарю за разъяснения.

Ещё вопрос. Как наиболее элегантно удалить строчку из текстового файла? Такой функции не нашёл ни в обычном хэлпе, ни в друпивском.

Пытался считать файл в массив, чтобы потом его обработать, но там тоже нет удаления элемента.

_________________
PureBasic 4.40, Droopy, PureDispHelper


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт дек 17, 2010 4:29 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11206
Благодарил (а): 4 раз.
Поблагодарили: 421 раз.
klalofudo писал(а):
но там тоже нет удаления элемента
В динамически связанном списке есть эта опция.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт дек 17, 2010 4:41 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пн сен 07, 2009 10:00 pm
Сообщений: 1046
Откуда: Николаев
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Если знаем номер строки, например 7

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
If ReadFile(0, "Temp.txt") 
CreateFile(1, "Temp1.txt")
 a=1
 While Eof(0) = 0  
  string.s= ReadString(0)  
  If a=7
   string = ReplaceString(string, string, "")
  EndIf
   a=a+1
    If string <>""
     WriteStringN(1, string)
     Debug string        
    EndIf
 Wend
 CloseFile(0)
 CloseFile(1)
EndIf


_________________
www.mirashic.narod.ru
Первое знакомство с PB


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 3446 ]  На страницу Пред.  1 ... 225, 226, 227, 228, 229, 230  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


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

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB