Здравствуйте! Пишу программку на Delphi и появился вопрос, ответ на который я не смог ни где найти. Мне нужно, чтобы моя программка видела значение больше 10 000 - как гуд, а меньше 9 999 - как бэд Подскажите, пожалуйста, как это реализовать
Условия заведомо неверные, т.к. 10000 у тебя не входит ни в одну из категорий. Или так и должно быть? Если строго по твоим условиям, то: if i>10000 then good else if i<9999 then bad Если 10000 и больше как гуд, тогда: if i>=10000 then good else bad
Нужно сделать так, чтобы он просто пропускал или записывал как bad значения меньше 9999 Вот 2 примера: Bad - значение меньше 9999 (2521) Code: <td class="bold">Урон</td><td style="color:red; font-weight: bold;">2521 (0+2521)</td> Good - значение больше 10000 (16146) Code: <td class="bold">Урон</td><td style="color:red; font-weight: bold;">16146 (0+16146)</td>
if copy(s, pos('weight: bold;">',s)+15,5)[5]=' ' then showmessage('<9999') else showmessage('>9999');
Спасибо, за ответ но не мог бы ты мне немного разжевать, как куда и как это вставлять: Code: if copy(s, pos('weight: bold;">',s)+15,5)[5]=' ' then showmessage('<9999') else showmessage('>9999'); Я много чего перепробовал, но все тщетно И возможно, что ты не так понял, мне не нужно, чтобы он показывал, какое значение меньше, а какое больше. У меня что-то вроде чекера, я ставлю базу из 5000 аккаунтов, он чекает, если там значение больше 9999 или больше того, которое я напишу в опциях, он будет считать это гудом, то что меньше записывает как bad Должно получится что-то вроде этого, но я не знаю как сделать так, чтобы можно было настраивать этот диапазон
Как я понял - рыть нужно в бАшом куске ХТМЛ кода? Code: var dmg:integer; s:string; begin dmg:=10000; s:=кусок хтмл кода; delete(s,1,pos('<td class="bold">Урон</td><td style="color:red; font-weight: bold;">',s)+67); s:=copy(s,1,pos(' ',s)-1); if strtoint(s)<dmg then begin // идет в беды end else begin // идет в гуды end; end;
Большое спасибо! Все получилось, но теперь мне нужен код на настройку, чтобы я мог менять снаружи значение которое мне нужно
Т.е. если я ничего не смыслю в Delphi, то я сразу школьник? А что, если мне 31 год, я женат и у меня 2-е детей? Что это получается, школьники ничего не знают, а как только ты закончил школу, то тебя там научили абсолютно всему, даже Delphi? Похоже на логику школьника По теме: вопрос исчерпан.
Школьник - это не какое-то возрастное определение, а модель поведия. Ты ничего сам не хочешь делать, не хочешь развиваться, единственное что тебе нужно - это чтобы за тебя делали определенные вещи. Будь тебе 9 лет ил 31, ты школьник, обыкновенный тупой школьник
Зачем тогда этот форум? Я сделал все, кроме того что здесь спросил. Как я уже написал, я не нашел решения. Ты вообще головой своей думаешь? Перечитай все еще раз, идиот.
Ну ты просто кинь на форму edit и в код, что написал МongBa† передавай значение из этого edit'а: Code: var dmg:integer; s:string; begin dmg:=strtoint([B]edit.text[/B]); s:=кусок хтмл кода; delete(s,1,pos('<td class="bold">Урон</td><td style="color:red; font-weight: bold;">',s)+67); s:=copy(s,1,pos(' ',s)-1); if strtoint(s)<dmg then begin // идет в беды end else begin // идет в гуды end; end;
Спасибо, сделал так: Code: dmg:=SpinEdit1.Value; s:=Link; delete(s,1,pos('<td class="bold">Урон</td><td style="color:red; font-weight: bold;">',s)+67); s:=copy(s,1,pos(' ',s)-1); if strtoint(s)<dmg then
Code: function ParseOne (const Value, Lstring, Rstring : string) : string; var Lpos, Rpos : integer; begin Result := ''; Lpos := pos (Lstring, Value); if Lpos > 0 then begin Lpos := Lpos + Length (Lstring); Rpos := posex (Rstring, Value, Lpos); if Rpos > 0 then Result := copy (Value, Lpos, Rpos - Lpos); end; end; ... var s : string; begin s := parseone ('html code', '<td class="bold">Урон</td><td style="color:red; font-weight: bold;">', ' '); if s <> '' then if strtoint (s) >= 10000 then ... else ... ; Более универсально, плюс не надо забывать о проверках.
К сожалению, не понимаю, что за проверки, но я сделал так: Code: dmg:=SpinEdit1.Value; s:=Link; delete(s,1,pos('<td class="bold">Урон</td><td style="color:red; font-weight: bold;">',s)+67); s:=copy(s,1,pos(' ',s)-1); if strtoint(s)<dmg then И у меня в результате очень часто за место валидных показывает следующих в базе после валидных. Однопоточный, но будто путается или торопится Краткий пример: База: 1111111 2222222 - этот валид 3333333 4444444 В чеке же может показать, что валид этот - 3333333, реже этот - 4444444