[ Delphi / Pascal ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by banned, 6 May 2007.

Thread Status:
Not open for further replies.
  1. Jingo Bo

    Jingo Bo Member

    Joined:
    25 Oct 2009
    Messages:
    368
    Likes Received:
    51
    Reputations:
    7
    Тем что первая из WinAPI, вторая из системного модуля делфи, вызывать лучще вторую, т.к. она переводит менеджер памяти в мультипоточный режим + устанавливает флаг IsMultiThread в true(час собсна и переводит менеджер памяти в мультипоточный режим) и соответственно через свой врапер поток выполняет для отслеживания остановки потоков.
     
  2. qwert135

    qwert135 New Member

    Joined:
    22 Nov 2009
    Messages:
    53
    Likes Received:
    0
    Reputations:
    0
    Всем привет.Народ, подскажите как вычислить размерность матрицы записанной в файл на паскале.В принципе алгоритм у меня есть, на С++ посимвольно считываем содержимое файла и проверяем этот символ равен "\n" или " ".Тока как обозначается "\n" на паскале я хз, подскажите плиз(файл текстовый).
    Code:
    ifstream in("C:\\123.txt");
            char i[128];
            int a = 0 ,b = 0;
            while (true){
                    in.read(i, 1);
                    if (i[0] == ' ')++b;
                    if (i[0] == '\n'){
                            ++a;
                            ++b;
                    }
                    if (in.eof()){
                            ++a;
                            ++b;
                            break;
                    }
            }
            b = b/a;
    
    а - строки, b - столбцы
     
    #6362 qwert135, 13 Jun 2010
    Last edited: 13 Jun 2010
  3. miako

    miako Member

    Joined:
    20 Jan 2010
    Messages:
    154
    Likes Received:
    13
    Reputations:
    5
    #13 вроде бы. Можно еще while not eoln(fileVar) - чтение пока не конец строки и while not eof(fileVar) пока не конец файла
     
  4. winlogon.exe

    winlogon.exe Active Member

    Joined:
    5 Jun 2009
    Messages:
    31
    Likes Received:
    129
    Reputations:
    13
    Code:
    procedure TNewThread.Execute;
    var
    data  : TStringList;
    begin
    str:=form1.idhttp1.get('http://site.ru');
    EVENTTARGET:=(ParserBlock(Str, '("','",'));
    VIEWSTATE:=(ParserBlock(Str, 'VIEWSTATE" value="','" />'));
    
    data:=tstringlist.create;
    Data.Add('ctl00$ctl21$cms06838$ddlMsisdnCode='+form1.ComboBox1.Text+'');
    Data.Add('ctl00$ctl21$cms06838$tbUserName='+form1.edit1.Text+'');
    Data.Add('__EVENTTARGET='+EVENTTARGET+'');
    Data.Add('__VIEWSTATE='+VIEWSTATE+'');
    Data.Add('ctl00$ctl21$cms06838$ddlCity=044');
    Data.Add('ctl00$ctl21$cms06838$ddlRegion=9');
    Data.Add('ctl00$ctl21$cms06838$gender=rbM');
    form1.idhttp1.post('http://site.ru,data);
    data.free;
    end;
    программа с потоками не работает. вылетают ошибки и отправляется только get запрос.
    Если делать без потоков то все хорошо рабоатет и оптравляется только проблема в том что программа зависает.
    В чем может быть проблема в работе с потоками?
     
  5. Nelzone

    Nelzone Banned

    Joined:
    12 Apr 2008
    Messages:
    172
    Likes Received:
    134
    Reputations:
    6
    winlogon.exe

    str:=form1.idhttp1.get('http://site.ru');

    почему тут стр? может дата?
    если не так постав комп IdCookieManager и в idttp -> CookieManager
     
  6. winlogon.exe

    winlogon.exe Active Member

    Joined:
    5 Jun 2009
    Messages:
    31
    Likes Received:
    129
    Reputations:
    13
    толку нет
     
  7. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Нельзя обращаться к компонентам формы из потока, и тем более использовать его методы
    1. Вообще-то data у него это данные для пост запроса.
    2. Data имеет тип TstringList, а Get возвращает string, то что ты ему сказал даже не скомпилится. Не считая способа Data.Text := , но это все равно бессмысленно
     
    1 person likes this.
  8. Kass

    Kass New Member

    Joined:
    24 May 2010
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    у меня наверно тупой вопрос, но я мало знаю Delphi, помогите, пожалуйста.
    надо нарисовать картинку не попиксельно, а запоминанием всех значений пикселей и дальнейшим "выбрасыванием" этого массива на форму. можно это сделать с tCanvas?
     
  9. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    winlogon.exe, ну ты даешь... Тебе надо создавать IdHTTP в отдельном потоке и обращаться к нему со своего потока. А для работы с элементами формы тебе необходимо синхронизировать работу, или через критические секции...

    Стукни мне в icq 674542, объясню подробнее что да как, и почему этот код не работает. Целый день сижу без дела, мб хоть что-то полезное сделаю кому-то :)
     
  10. winlogon.exe

    winlogon.exe Active Member

    Joined:
    5 Jun 2009
    Messages:
    31
    Likes Received:
    129
    Reputations:
    13
    спасибо, 10 мин назад уже сделал по подсказкам выше)) Получилось :)
     
  11. dukesoteg

    dukesoteg New Member

    Joined:
    4 Apr 2010
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Помогите разобрать задачи с помощью функций т.е ввод/вывод с помощью их (сессия на носу Z_x)

    Дана строка. Определить, сколько в ней символов *, ; , :.

    Code:
              
    var
    s:string;
    begin
    readln(s);
    while pos('  ',s)<>0 do
    delete(s,pos('  ',s),1);
    while s[1]=' ' do
    delete(s,1,1);
    while s[length(s)]=' ' do
    delete(s,length(s),1);
    writeln(s)
    end.
    
    Строка содержит одно слово. Проверить, будет ли оно читаться одинаково справа налево и слева направо (т.е. является ли оно палиндромом).

    Code:
    var    s: string;
    i,k,l,d: integer;
          b: boolean;
    begin
    writeln('vvedite stroku: ');
    readln(s);
    b:= true;
    d:= length(s);
    l:= d div 2;
    for i:=1 to l do
    if s[i]<>s[d+1-i] then b:=false;
    if b=true then writeln ('palindrom') else
    writeln('ne palindrom');
    readln;
    end.
    
     
  12. minei

    minei New Member

    Joined:
    30 Apr 2009
    Messages:
    19
    Likes Received:
    0
    Reputations:
    0
    Добрый день, хочу написать программу в которую вводишь логин и пароль с форума,сообщение + ссылку на тему на форуме и она через определенное время флудит указанным сообщением. На каком языке писать, и реально ли это если опыта нет совсем.
     
  13. SeNaP

    SeNaP Elder - Старейшина

    Joined:
    7 Aug 2008
    Messages:
    378
    Likes Received:
    69
    Reputations:
    20
    Всем привет. Подскажите , как сделать ветвление по условию с TradioButton.
    Кинул я TradioButton на шаблон, а вот как в самом коде это прописать?
    Т.е. если TradioButton выбрана, то ,,,,,,,, иначе ,,,,,,,,,,,,
     
  14. .::f-duck::.

    .::f-duck::. Member

    Joined:
    30 May 2009
    Messages:
    343
    Likes Received:
    32
    Reputations:
    7
    У нее есть свойство clicked или что-то типа такого. Так вот,на это свойство (как на клик мыши) вешаешь это ветвление. Делфю я уже не помню,так что копай сам :)
     
  15. AlexTheC0d3r

    AlexTheC0d3r Elder - Старейшина

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18
    нет, если опыта нет
     
  16. minei

    minei New Member

    Joined:
    30 Apr 2009
    Messages:
    19
    Likes Received:
    0
    Reputations:
    0
    мб есть у кого желание помочь 0_о
     
  17. [Dezzter]

    [Dezzter] Elder - Старейшина

    Joined:
    26 Nov 2007
    Messages:
    182
    Likes Received:
    131
    Reputations:
    3
    Помочь или написать за тебя? :D
     
  18. minei

    minei New Member

    Joined:
    30 Apr 2009
    Messages:
    19
    Likes Received:
    0
    Reputations:
    0
    ну хотя бы рассказать че скачивать, я впринципе не знаю как мне можно помочь, скорее всего как ты и сказал написать
     
  19. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    if (RadioButton1.Checked) Then
    ololo
    Else
    atata
     
  20. akimov_aleks

    akimov_aleks New Member

    Joined:
    3 May 2009
    Messages:
    39
    Likes Received:
    1
    Reputations:
    0
    простите за смешной вопрос...
    Code:
    begin
    if RadioGroup1.ItemIndex=0 then
    t:='ВАся';
    if RadioGroup1.ItemIndex=1 then
    t:='Петя';
    if RadioGroup1.ItemIndex=2 then
    t:='САша' ;
    if RadioGroup1.ItemIndex=3 then
    t:='Коля' ;
    label1.Caption:=t;
    end;
    
    подскажите как это можно сокротить...
    выборка именнно по ItemIndex так как названия уних разные
    можно ли это запихнуть в процедуру чтоб не загромождать основной код
     
Thread Status:
Not open for further replies.