Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Farbe von String ändern

Mitglied: florengray

florengray (Level 1) - Jetzt verbinden

02.05.2008, aktualisiert 03.05.2008, 10486 Aufrufe, 10 Kommentare

Hallo,
beschäftige mich gerade damit VB Express zu erlernen.
Problem:
Ich habe Daten in einem String, die ich auf Fehler überprüfe.
Wenn ich per If dann zu so einem Fehler gekommen bin, soll das Zeichen, dann durch ein "#" ersetzt wird und dass soll dann auch Rot erscheinen.
Das heißt, ich will eine sonst schwarze Zeichenkette mit roten "#" spicken, wenn dort Fehler drin sind.
Die Variable die noch andere Zeichen enthält wird immer durch += erweitert.

Zuletzt wird dass dann in einer RTB angezeigt.
Ist das Möglich?
Ach ja, ich will nicht die Farbe in einer TextBox oder so ändern!
Die Fehelrroutine befindet sich in einem Public Modul welches ich von einer Form aus aufrufe.



Hoffe ihr könnt mir helfen.

(Ist ein Programm für Genetik)
Mitglied: miniversum
03.05.2008 um 10:08 Uhr
Verstehe ich das richtig das du einen Text in einer Variabeln vom Typ String einfärben willst? Das geh so nicht. Du könntest entweder eindeutige Markierungen an den stellen setzen. Wenn das # z.B. nicht sonst in dem Text vorkommt dan kans tdu das ja einsetzen. Diese Variable kanst du ja weiterhin mit + dann erweitern wie du möchtest. Bei der ausgabe must du dan einen Filer drüber laufen lassen der dier die ganzten # dann halt rot einfärbt.
Bitte warten ..
Mitglied: florengray
03.05.2008 um 13:34 Uhr
Hallo,
ja so hast du das richtig verstanden.
Mal ein Beispiel:
DNA Sequenz mit Fehlern: TACGACGT?TACA?ACTA??G
So, die ? können nicht übersetzt werden. Sind durch Mutationen hervorgerufen worden.
Die will ich jetzt aber in meiner Überstzung speziell einfärben lassen.
Übersetzung dazu: AUGCUGCA#AUGU#UGAU##C
Dabei soll jedes # den Fehler anzeigen und rot erscheinen.
Das wollte ich gleich in dem Modul machen lassen, aber das scheint ja so nicht zu gehen.
Das mit dem Filter kannte ich noch nicht.
Wie geht das?
Könnte man das dann so machen, dass der Filter den Ausgabe String (Übersetzung) durchscannt und alle # rot färbt? Das wäre super!
Es wäre aber auch möglich, wenn der Filter mir dann die RTB scannen würde.
(Wäre für mich aber noch ein wenig umständlicher)

Schönen Tag noch!

florengray
Bitte warten ..
Mitglied: miniversum
03.05.2008 um 14:09 Uhr
Den Filter müßtest du halt selbst schreiben.
Wenn du den String in die RTB schreibst mußt du danach einfach den Text nochmal durchlaufen, und die # markieren (geht über RTB.SelectedRtf). Danach kannst du dieses Zeichen einfärben mit
RTB.SelectionColor = Color.Red
Genaueres zum .SelectedRtf must du in der Hilfe nachschauen weil ichd as auch nur einmal gebraucht habe bisher und ich hier grade nicht nachschauen kann.
Im Prinzip halt die Teile des Textes in der RTB markieren und dann die Farbe wie beschrieben ändern.
Bitte warten ..
Mitglied: florengray
03.05.2008 um 16:55 Uhr
Hallo,
wenn das geht wäre das echt super.
Werd ich mal ausprobieren.
Vielen Dank!

:edit
Habe ich ausprobiert.

RichTextBox1.Text = F_Output_DNA
RichTextBox1.Find("#")
RichTextBox1.SelectionColor = Color.Red

Damit wird aber nur das erste Zeichen rot gefärbt und die anderen vernachlässigt.
Hab schon gesucht, aber ich weiss jetzt nicht, was ich machen soll, damit der mir alle Fehler markiert.
Bitte warten ..
Mitglied: miniversum
03.05.2008 um 18:29 Uhr
So sollte es gehen:
01.
RichTextBox1.Text = F_Output_DNA
02.
pos = 0
03.
Do
04.
    pos = RichTextBox1.Find("#", pos + 1, RichTextBoxFinds.MatchCase)
05.
    RichTextBox1.SelectionColor = Color.Red
06.
    MsgBox(pos)
07.
Loop While pos > 0
Er geht den ganzen String durch, sucht nach den "#", färbt dieses Zeichen ein und sucht dann weiter. Solange bis der String einmal durchsucht wurde.
Bitte warten ..
Mitglied: florengray
03.05.2008 um 18:59 Uhr
Hallo,
es funktioniert wirklich!
Dankeschön!

Hab nur das pos=0 in Dim pos = 0 umgewandelt.
Wäre noch super, wenn ich den Code auch verstehen würde.

Also:
Eine Do While Schleife
Tue solange pos > 0 ist folgendes:
pos ist = die Position von dem jetziges Zeichen was gescannt wird
Und suche in RTB1 nach "#", wobei die var pos pro Durchlauf um 1 erhöht wird und ???

Das mit dem Match Case habe ich nicht verstanden.
Könntest du mir noch sagen, was das ist?

Ansonsten vielen Dank dafür.
Bitte warten ..
Mitglied: miniversum
03.05.2008 um 19:23 Uhr
Das ganze war als Teil des Codes gedacht. Drum fehlt das dim pos.

Das ganze funktioniert nicht ganz so. Es wird nicht jedes einzelne Zeichen durchgegangen und verglichen, sondern:
pos = RichTextBox1.Find("#", pos + 1, RichTextBoxFinds.MatchCase)
Es wird die erste Position, nach pos+1, gesucht ander ein # steht. Diese Position wird wieder in pos gespeichert. Außerdem gilt dieses Zeichen dann als Selection.
Danach wird eben für dieses zeichen die Farbe verändert.
Danach wird ab dieser Position weiter gesucht wo das nächste mal ein # steht. Das ganze läuft so lange bis eben einmal der Ganze String in der RichTextBox1 durchsucht wurde. Dann liefert das find als position eine -1 zurück und die Schleife bricht ab.
Das MsgBox kannst du natürlich rausnehmen. Das war nur zur Anschauung drin. Es sollte dir die Position anzeigen ander sich jeweils die # befinden.
Das MatchCase brauchst du eigentlich garnicht umbedingt. Dieser Parameter ist optional. Allerdings gibt es mehrere Überladungen von Fin und daher kanns sein das die Falsche ausgewählt wird ohne diesen Parameter.
Bitte warten ..
Mitglied: florengray
03.05.2008 um 19:50 Uhr
Danke für die Erklärung!

Habe aber jetzt noch ein Problem.
Ich habe die versch. Strings, nach denen gesucht werden soll in Arrays gespeichert.
z.B. xyz(0) = ACT xyz(1) = TTG
Das wird in einem anderen Form von einem Benutzer eingegeben und dann halt eben in diesen Arrays gespeichert.
Wenn ich dann in diesem Form eine For laufen lassen zeigt die mir in einer MsgBox alle Inhalte an, die ich vorher in den Arrays speichern lies. (Das ist nur zum Fehler suchen)
In einem anderen Modul habe ich dieses xyz() as Public und als String deklariert, damit andere Funktionen darauf noch zugreifen können.
Wenn ich jetzt z.B. deinen Code dazu verwende, um nach den Strings zu suchen, lasse ich wieder eine For laufen und habe statt des "#" die xyz(a) stehen wobei das a in der For mit einer Zahl gefüllt wird. Dann müsste ja z.B. ACT bei xyz(1) wieder erscheinen.
Der gibt mir aber Fehlermeldungen zurück.
Ich habe soweit rausgefunden, das ich zwar in dem anderen Modul wo die Arrays festgelegt werden, die Arrays auch anzeigen lassen kann aber sobald ich das Modul verlasse und mir die Inhalte wann anders anzeigen lassen möchte sind die Arrays alle Leer???????
Und das gibt den Fehler.
Frage: Warum sind die Arrays alle leer? Habe sie doch als Public deklariert?
Public xyz() As String

:edit

ReDim Preserve Erw_Bear_Opt_find_mark(tmp_4)

Das ist auch eine Zeile aus dem Form, wo der Benutzer seine Suchstrings eingibt.
Da steht aber ein Re-DIM-Preserve drin !!
Das wird wohl der Fehler sein.Aber wie krieg ich das behoben?
Bitte warten ..
Mitglied: miniversum
03.05.2008 um 20:04 Uhr
Ich denke es wäre gut wen du dafür ein extra posting aufmachen würdest weil es mit der eigentlichen Frage ja nichts mehr zu tun hat.

Und ich verstehs ncith ganz. Du hast in einem Modul das array als public deklariert udn willst in in einem andern nutzen oder wie?
Bitte warten ..
Mitglied: florengray
03.05.2008 um 20:14 Uhr
Ok neuer Post: Arrays an andere Form übergeben
Bitte warten ..
Ähnliche Inhalte
Drucker und Scanner

Kaufempfehlung - Farb-Laser-Multifunktion für Privat

Frage von emeriksDrucker und Scanner26 Kommentare

Hi, z.Z. gegeben sind zwei Drucker im Privat-Bereich - 1x HP LJ 2420 s/w - uralt - 1x Epson ...

Outlook & Mail

Outlook Farb-Kategorien werden nicht angezeigt ( Geteilter Kalender )

gelöst Frage von BeOrangedOutlook & Mail3 Kommentare

Hallo ! Ich habe ein Problem, wir nutzen hier Office 2010 auf Win 7 Clients, mit einem Exchange Server ...

Drucker und Scanner

Multifunktions(Farb)-Laser Drucker (Lan-Wlan) fähig

Frage von wescraven07Drucker und Scanner3 Kommentare

Moin Admins, ich hätte gerne eure Meinung: ich beabsichtige, mi ein neues Druckermodell zuzulegen. Multifunktionslaserdrucker, (LAN/WLAN fähig) Wlan bevorzugt, ...

Java

Von Delphi String zu Java String

Frage von GreenDinoJava1 Kommentar

Hallo zusammen! Ich bin dabei Delphicode in Javacode zu übertragen. Frage: ist '<text>' in Delphi equivalent zu "<text>" in ...

Neue Wissensbeiträge
Humor (lol)
Administrator.de Perlen
Tipp von DerWindowsFreak2 vor 45 MinutenHumor (lol)

Hallo, Heute beim stöbern auf dieser Seite bin auf folgenden Thread aus dem Jahre 2006 gestossen: Was meint ihr? ...

Erkennung und -Abwehr
OpenSSH-Backdoor Malware erkennen
Tipp von Frank vor 21 StundenErkennung und -Abwehr

Sicherheitsforscher von Eset haben 21 Malware-Familien untersucht. Die Malware soll Hintertüren via OpenSSH bereitstellen, so dass Angreifer Fernzugriff auf ...

iOS
WatchChat für Whatsapp
Tipp von Criemo vor 4 TageniOS3 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor!
Tipp von Criemo vor 4 TageniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Heiß diskutierte Inhalte
Windows Server
Einziger Domänencontroller ersetzen - Windows Server 2012R2 - Hostname
Frage von DeRo93Windows Server31 Kommentare

Guten Tag, Leider haben wir einen Domänencontroller dessen Komponentenspeicher defekt ist. Alle Maßnahmen sind da leider fehlgeschlagen. Nun wurde ...

Windows Server
Welche Option fürs Windows Server Installations besser
Frage von backitWindows Server20 Kommentare

Hi Zusammen, ich werde unserer AD (SBS 2011) und Exchange 2010 Servern auf neuen physikalischen Server umziehen. ich habe ...

Server-Hardware
WS 2016 Essentials Hardware
Frage von ChefknechtServer-Hardware20 Kommentare

Moin welche Hardware würdet ihr empfehlen? Dell Poweredge HP Proliant Fujitsu Ich bin total konfus was nun nötig ist, ...

Windows Update
Fehler bei Updates über WSUS
Frage von Hendrik2586Windows Update19 Kommentare

Guten Tag liebe Kolleginen und Kollegen, lang lang ist meine letzte Anfrage her. Hier etwas das mich nun schon ...