[SynEdit] Wyszukiwanie tekstu i wywalanie błędów o braku

0

Zastanawiam sie jak zrobic aby wyszukiawlo mi tekstu np. "Unit" i jezeli go bedzie brakować to wywali komunikat informacje o braku tego słowa i aby go automatycznie uzupełniło :> Bo ja to zrobilem ale mi to bardzi dużo zajmuje :/ a ja chce jakas prosta metode:]. Kto ma pomysły :> :>

0

if Pos('jakieś zdanie',SynEdit1.Text)>0 then exit
else
begin
showmessage('jakies zdanie - nie występeje w synedit1');
synedit1.lines.add('jakieś zdanie'); // uzupełniłem

0

jak już to może tak, co

if Pos('jakieś zdanie',SynEdit1.Text)=0 then  
begin
  showmessage('jakies zdanie - nie występeje w synedit1');
  synedit1.lines.add('jakieś zdanie'); // uzupełniłem
end;
0

pieknie to dziala ale znowu mam problem z literami bo jezeli w zrodle napisze "unit" a ktos w kontrolce napisze Unit czy UNIT czy UnIt to sie bedzie plulo ze nie ma takiego slowa :( a ja nie wiem jak to zrobic aby nie zwracalo uwagi na wielkość liter

0
if Pos('jakieś zdanie',LowerCase(SynEdit1.Text))=0 then  
begin
  showmessage('jakies zdanie - nie występeje w synedit1');
  synedit1.lines.add('jakieś zdanie'); // uzupełniłem
end;
0

a żeby nie mieć problemu z pl literkami to zamiast LowrCase AnsiLowerCase

if Pos(AnsiLowerCase('JaKiEś ZdAnIe'), AnsiLowerCase(SynEdit1.Text))=0 then  
begin
  showmessage('jakies zdanie - nie występeje w synedit1');
  synedit1.lines.add('jakieś zdanie'); // uzupełniłem
end;

Z tym, że zazwyczaj pyta się usera, czy uwzględnić wielkość liter czy nie

0
Misiekd napisał(a)

jak już to może tak, co

if Pos('jakieś zdanie',SynEdit1.Text)=0 then  
begin
  showmessage('jakies zdanie - nie występeje w synedit1');
  synedit1.lines.add('jakieś zdanie'); // uzupełniłem
end;

Moj post jest także poprawny. Na końcu oczywiście powinien być: "end;" oczywiście bez cudzysłowie. A teraz co do Funcji LowerCase. To Funkcja ta zamienia string na małe litery. W tym przypadku działa poprawnie, ale zastanów się jakbyś wpisał np :
if pos('JAKIES ZDANIE', LowerCase(SynEdit.text))>0;
A w tekście w SynEdit było by napisane zdanie: JAKIES ZDANIE - właśnie dużymi literami? I dlatego Misiekd na końcu dał prawidłowe rozwiązanie - zamieniając cały tekst na małe litery.

0
statjacek napisał(a)

Moj post jest także poprawny. Na końcu oczywiście powinien być: "end;" oczywiście bez cudzysłowie.

Jest, bo zadziałało by to tak jak miało, ale konstrukcja bardzo mi się nie podoba. Exit jest tam zupełnie zbędny

0

a po co dawać instrukcję "if male ABC = male aBC" skoro programista wie że porównuje z małymi literami i może samemu tak wprowadzić do kodu i oszczędzić minimalnie pracy procesorowi ("if abc = male aBC"), niby nic ale bardzo mi się nie podoba takie marnowanie zasobów

0
Adamo napisał(a)

a po co dawać instrukcję "if male ABC = male aBC" skoro programista wie że porównuje z małymi literami i może samemu tak wprowadzić do kodu i oszczędzić minimalnie pracy procesorowi ("if abc = male aBC"), niby nic ale bardzo mi się nie podoba takie marnowanie zasobów

Przeczytaj to trzy razy, zastanów się, znowu przeczytaj, pomyśl i sobie odpowiedz

0
Misiekd napisał(a)
Adamo napisał(a)

a po co dawać instrukcję "if male ABC = male aBC" skoro programista wie że porównuje z małymi literami i może samemu tak wprowadzić do kodu i oszczędzić minimalnie pracy procesorowi ("if abc = male aBC"), niby nic ale bardzo mi się nie podoba takie marnowanie zasobów

Przeczytaj to trzy razy, zastanów się, znowu przeczytaj, pomyśl i sobie odpowiedz

przeczytaj to dwanaście razy, zastanów się o czym ty piszesz, pomyśl i powiedz po co piszesz głupie posty ?

chodzi mi o to że jeśli piszący program nie jest downem to może napisać w kodzie:

if Pos('abcdef', AnsiLowerCase(Memo1.Text))

zamiast:

if Pos(AnsiLowerCase('AbCDeF'), AnsiLowerCase(Memo1.Text))

bo chyba umie samemu używając lokalnego mózgu w swojej głowie zamienić pierwszy string na małe litery i oszczędzić zbędnemu wywołaniu funkcji AnsiLowerCase, co innego jakby chciał szukać tekstu z Edit'a np to wtedy nie mając pewności co do wielkości znaków, podwójne użycie LowerCase jest uzasadnione

0

niech Ci będzie

1 użytkowników online, w tym zalogowanych: 0, gości: 1