AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

es zeichen eines strings

Ein Thema von Freddy_K · begonnen am 3. Apr 2004 · letzter Beitrag vom 3. Apr 2004
Antwort Antwort
Freddy_K

Registriert seit: 3. Apr 2004
8 Beiträge
 
#1

es zeichen eines strings

  Alt 3. Apr 2004, 18:13
moin

Ich habe folgendes Problem. Ich versuch grade mit meinen eher schlechten delphi kenntnissen nen irc client zu basteln.. nichts großes, nur so das es funktioniert. Da der INDY idirc aber kein halfop kennt wie es in dem netzwerk verfügbar ist, besitzen einige nicks ein % vor dem nick. nun möchte ich das erste zeichen auf ein % überprüfen.

nun zum eigenlichen problem:

Delphi-Quellcode:
for i:=0 to memo2.lines.count do begin
nick:=memo2.lines[i];
memo1.lines.add(nick[1]);
end;
das ganze soll erstmal als test dienen ob er überhaupt das zeichen erkennt.. er kompiliert das ganze fehlerfrei. nur beim ausführen bekomm ich nen speicher fehler.. access violation...

mach ich irgendwo nen fehler? oder hat jmd ne andere/bessere lösung für das problem?

mfg
Freddy_K
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: es zeichen eines strings

  Alt 3. Apr 2004, 18:15
memo.lines.count gibt die Anzahl der Zeilen an. Die Inditzierung beginnt aber bei 0. D.h., du musst bis count-1 zählen.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von Mirilin
Mirilin

Registriert seit: 21. Dez 2002
Ort: Lenzburg
861 Beiträge
 
Delphi 6 Professional
 
#3

Re: es zeichen eines strings

  Alt 3. Apr 2004, 18:16


for i:=0 to memo2.lines.count -1 do (Count gibt Anzahl, 0 ist erstes Element ... )

mfg Tobias

//edit, schon wieder
Tobias
Die Physik ist für die Physiker eigentlich viel zu schwer.
  Mit Zitat antworten Zitat
nikon.de

Registriert seit: 25. Mär 2004
28 Beiträge
 
#4

Re: es zeichen eines strings

  Alt 3. Apr 2004, 18:17
Code:
 if pos('%',string) > 0 then
 begin
  showmessage('ja');
 end else
  showmessage('noe');
  .......
Schau dir mal in der Delphi hilfe die pos funktion an
  Mit Zitat antworten Zitat
Freddy_K

Registriert seit: 3. Apr 2004
8 Beiträge
 
#5

Re: es zeichen eines strings

  Alt 3. Apr 2004, 18:21
ah hilfe.. hatte nich so schnell mit einer antwort gerechnet..

ob nun ab 0 oder ab 10 dürfte doche keine rolle spielen in bezug auf das speicherproblem.. ansonsten klappt das ja..

was mich wundert: nehm ich den gleichen befehl ändere nur die zuweisung von nick auf

nick:=auser.nick; dann bekomm ich halt entsprechend der zeilen der memobox immer das erste zeichen vom nick des gemeinten users.. ohne fehler..

ich schau mir jetzt aber mal kurz die pos funktion an

mfg
Freddy
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#6

Re: es zeichen eines strings

  Alt 3. Apr 2004, 18:33
Zitat von nikon.de:
Schau dir mal in der Delphi hilfe die pos funktion an
Warum? Wenn das Prozentzeichen immer vorn ist, dann tut´s auch ein
if nick[1] = '%then { ... }
Zitat von Freddy_K:
ob nun ab 0 oder ab 10 dürfte doche keine rolle spielen in bezug auf das speicherproblem.. ansonsten klappt das ja..
Das war ja auch nicht der Punkt. Du hast bei Null angefangen zu zählen. Bei bspw. 10 Einträgen in der Liste würdest du logischerweise bis 11 zählen: 0, 1, 2, 3, ... 10. Und das war der Fehler. Da der erste Eintrag den Index Null hat, musst du den Maximalwert der Schleife natürlich auch um Eins verringern. Und das wollten dir Mirilin und Chewie damit sagen.
  Mit Zitat antworten Zitat
Freddy_K

Registriert seit: 3. Apr 2004
8 Beiträge
 
#7

Re: es zeichen eines strings

  Alt 3. Apr 2004, 19:31
s war ja nicht mein problem, sondern der speicher fehler den ich mit nick[1] berkommen hab.. ein pos('%',nick) = 1 löst mein problem.

vielen dank für die schnelle hilfe

mfg freddy
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz