PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Groß- und Kleinschreibung ignorieren



gyros'nmaronen
28-04-2006, 15:07
Tach zusammen

Bin immer noch mit meinen Tabellenproblem beschäftigt. Ich hab mir für meine Tabelle eine Suchfunktion gebastellt die meine Tabelle nach einen bestimmten Eintrag dursucht die man vorher eingeben kann. Ist zu vergleichen mit der Suchfunktion beim Internet Explorer wenn man STRG-F drückt. Funktioniert tadellos!!! Aber man muß Groß- und Kleinschreibung beachten. Jetzt meine Frage: Wie ignoriert man die Groß-und Kleinschreibung. Kennt jemand einen Algorithmus der dieses tut??

Hier mal mein Such- Algorithmus



void MyMainWindow::search (void)
{

_ptable->repaintSelections();
_word1 = _edit1->text();
if (_rbutton->isChecked() == false)
{
for (int i = _ptable->currentColumn(); i <= _ptable->numCols(); i++)
{
for (int j = _ptable->currentRow()+1; j <= _ptable->numRows(); j++)
{
_word2 = _ptable->text(j,i);
if (_word1 == _word2)
{
markieren(j,i);
break;
}

}

}
for (i = _ptable->currentColumn()-1; i >= 0; i--)
{
for (int j = _ptable->currentRow()+1; j <= _ptable->numRows(); j++)
{
_word2 = _ptable->text(j,i);
if (_word1 == _word2)
{
markieren(j,i);
break;
}

}

}

}

if (_rbutton->isChecked() == true)
{
for (int x = _ptable->currentColumn(); x >= 0; x--)
{
for (int y = _ptable->currentRow()-1; y >= 0; y--)
{
_word2 = _ptable->text(y,x);
if (_word1 == _word2)
{
markieren(y,x);
break;
}

}

}
for (int i = _ptable->currentColumn()+1; i <= _ptable->numCols(); i++)
{
for (int j = _ptable->currentRow()-1; j >= 0; j--)
{
_word2 = _ptable->text(j,i);
if (_word1 == _word2)
{
markieren(j,i);
break;
}

}

}


}

}


Schon mal im voraus danke

MFG gyros

Caveman
28-04-2006, 15:12
Möglich wäre es zum Beispiel dadurch, dass Du den eingegebenen Suchbegriff und das Wort, mit dem Du diesen gerade vergleichst, in Großbuchstaben umwandelst.

gyros'nmaronen
28-04-2006, 16:07
Ist n'guter Gedanke. Wie nehme ich denn mein String auseinander so das ich die einzelnen Buchstaben meines Strings vergleichen kann?

MFG gyros

anda_skoa
28-04-2006, 20:36
Du kannst auf jedes Zeichen des Strings über seinen Index zugreifen, aber vielleicht geht das was du machen willst auch besser. Wozu brauchst du diese Aufteilung?

Ciao,
_

fuffy
28-04-2006, 22:13
Hi!

Du könntest z.B. boost::algorithm::iequals (http://www.boost.org/doc/html/iequals.html) für den Vergleich verwenden.

Gruß
fuffy

gyros'nmaronen
02-05-2006, 10:58
Gauden Tach

Danke für eure Tips. Hab eine Funktion von Qt gefunden die einen kompletten String in kleine Buchstaben umwandelt QString QString::lower () const.
Ist der Hammer!!!Ich wandle jetzt beide Strings in Kleinbuchstaben um und vergleiche sie dann. UND ES KLAPPT!! SUPER! Groß- und KLeinschreibung wird ignoriert!!!!!!!!!!!!

MFG gyros