C# načtení a použití jednotlivých prvků z pole Vyřešeno

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Uziv001
Pohlaví: Nespecifikováno

C# načtení a použití jednotlivých prvků z pole  Vyřešeno

Příspěvekod Uziv001 » 15 dub 2011 15:05

Zdravím všechny,

mám string, ten obsahuje parametry obrázku z webu, tohle je obsah jedno stringu: <img src="......" width="...." height="....">. Pomocí splitstring ho mám rozdělený a potřebuji každý jednotlivý element porovnat s hodnotami získanými načtečním tohot obrázku. Zkrátka potřebuju porvnat rozměry obrázku zadané tvůrcem stránky a opravdové rozměry, získané jeho načtením.

Reklama
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: C# načtení a použití jednotlivých prvků z pole

Příspěvekod CZechBoY » 15 dub 2011 15:43

chceš porovnat prostě rozměry obrázku z HTML kodu a obrázku podle EXIFu ne?
ten HTML rozřeč přes regulár, budeš to mít jednodušší :-)
System.Drawing.Image taky existuje a tam jsou i vlastnosti Height a Width takže to můžeš použít pro ten obrázek ;-)
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uziv001
Pohlaví: Nespecifikováno

Re: C# načtení a použití jednotlivých prvků z pole

Příspěvekod Uziv001 » 15 dub 2011 16:27

hele já sem houby prográmator a rozumim tomu asi jako koza petrželi, takže tu na mě prosim nevytahuj nic jinýho :D , ja prostě potřebuju vědět jak mám s toho rozděleného stringu získat ty číslíčka jako int. Ten int pak v další metodě prostě porovnám s tim co mi o sobě ten obrázek řek, když sem ho načetl a pokud se to bude rovnat... pohoda, pokud ne tak to vypíšu do textboxu jako chybu.
Chtěl to to udělat přes cyklus foreach, takže jak to napsat?? Mám už rozdělenej string atributyTagu, ale jak ho použít...


foreach (???)
{
???
}

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: C# načtení a použití jednotlivých prvků z pole

Příspěvekod CZechBoY » 15 dub 2011 17:11

mno tak co zatim máš a co umíš?
přes regulární výraz bys to lehce zjistil, ale musel bys kontrolovat jestli tam není třeba jen width nebo jen height (občas to tak taky dělám, ale spíš oboje nebo nic) - tohle umíš zjistit?
ty údaje z obrázku přes EXIF nebo System.Drawing.Image umíš zjistit?
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uziv001
Pohlaví: Nespecifikováno

Re: C# načtení a použití jednotlivých prvků z pole

Příspěvekod Uziv001 » 15 dub 2011 17:23

Oukej mám na zadané stránce najít obrázky a porovnat parametry z kódu (tzn. width a height) s realnými paramentry. Kód už mám jako string kodStranky a v tehle metode najdu sekvence, ktere se tykaji obrazku. Ty pak pomoci splitstringu rozsekam na atributyTagu. Takže potřebuju najít v atributyTagu to co hledám... height="XXX" z toho vzít jen ty čísla ty čísla mít pro další metodu, kde je budu porvnávat, jako int height a width

private void ZkontrolujObrazky(string kodStranky)
{
int indexZacatku = 0;
int indexKonce, width, height;
string adresaObrazku;
string obsahTagu;
string[] atributyTagu;
while ((indexZacatku = kodStranky.IndexOf("<img ", indexZacatku)) > -1)
{
indexKonce = kodStranky.IndexOf(">", indexZacatku + 4);
obsahTagu = kodStranky.Substring(indexZacatku + 5, indexKonce - indexZacatku - 6);
atributyTagu = obsahTagu.Split();
width = height = 0;
adresaObrazku = null;

TestujObrazek(adresaObrazku, width, height);
indexZacatku = indexKonce + 1;
}

}

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: C# načtení a použití jednotlivých prvků z pole

Příspěvekod CZechBoY » 15 dub 2011 18:29

nechápu o co ti teď jde, chceš projít pole a něco z něj vypsat?
nemůžeš přijít na to jak dostat ze stringu [i]height="10"[i] tu 10 ?
musíš na mě jak na blba, dneska už toho mám dost :-)
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uziv001
Pohlaví: Nespecifikováno

Re: C# načtení a použití jednotlivých prvků z pole

Příspěvekod Uziv001 » 15 dub 2011 20:47

Tak fajn. Z tohodle pole potřebuju dostat parametry height a width. Ty pak musim porovnat s tim co o sobe tvrdi ten obrazek. Takze např. autor da na svou stranku obrazek o rozmerech 350x400, ale v kodu mu zada parametry 750x650. Ja si tedy z kodu musim zjistit jake paramentry mu zadal a pak to porovnat s originalmi parametry, protoze pokud udelal to co jsem napsal, tak je to celkem blb a obrazek muze delat problemy. To co tedy od tebe(mebo nekoho jineho...) chci poradit je jak si ty parametry pripravit k dalsimu pouziti.

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: C# načtení a použití jednotlivých prvků z pole

Příspěvekod CZechBoY » 15 dub 2011 20:53

chceš použít parametry k dalšímu použití? tak si udělej proměnný k tomu obrázku :D
popiš problém, co už máš, co ti nejde, obsahy proměnných, názorný ukázky, úskalí (bo úzkalí?)

ty děláš nějakej prohlížeč?
když autor zadá velikost obrázku větší než je tak je blbej, ale stejně to musí prohlížeč zobrazit tak jak pán poroučí...
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uziv001
Pohlaví: Nespecifikováno

Re: C# načtení a použití jednotlivých prvků z pole

Příspěvekod Uziv001 » 15 dub 2011 21:29

Přesně tak, já dělám program, kterej mimo jiné zkoumá tuto věc a pak případně autor dostane vyhubováno. A jednou to specifikuju i když už nevim jak jinak to říct. Mám pole rozdělené splitstringem... tzn. z kodu mam vytahnuté pasáže <img src="bla" height="bla" width="bla" apod.>
takže po splitnutí mám pole které obshaje několik částí, nevim jak přesně to mám popsat:D. A z tohoto pole potřebuju získat ty "bla" takže bych pak měl mít pro každý takto prověřený obrázek int width a height s nějakou hodnou, kterou právě z toho pole získám. Tuto hodnotu srovnám s hodnotami Width a Height, které má ten obrázek originálně. POkud se to rovná... fajn, pokud ne, do textboxu to vypíšu jako chybu. To už mám vyřešené, prostě potřebuje vytvořit z toho pole proměné int height a width, které pak musim porovnat...

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: C# načtení a použití jednotlivých prvků z pole

Příspěvekod CZechBoY » 15 dub 2011 21:42

jo tak si udělej regulár width="XX" a druhej height="XX"
doufám že víš jak pracovat s regulárem :-)
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uziv001
Pohlaví: Nespecifikováno

Re: C# načtení a použití jednotlivých prvků z pole

Příspěvekod Uziv001 » 15 dub 2011 21:43

vypadám na to? odpověď je prostá... NE. Prosím poradíš mi? :oops:

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: C# načtení a použití jednotlivých prvků z pole

Příspěvekod CZechBoY » 15 dub 2011 21:55

RegEx a Match je v namespacu System.Text.RegularExpressions, můžeš dát using nebo to napsat před tu třídu

Regex regW = new Regex(@"(width=""(?<width>(\d+))"")");
Regex regH = new Regex(@"(height=""(?<width>(\d+))"")");

Match mW = regW.Match("<img width="XXX" height="XXX");
Match mH = regH.Match("<img width="XXX" height="XXX");

int width= Convert.ToInt(mW.Groups["width"]);
int height= Convert.ToInt(mH.Groups["height"]);


jsem to musel najít :D dlouhý jak tejden, ale mělo by to fungovat :D
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Nacenění PC vs jednotlivých komponent
    od second32 » 01 pro 2024 12:31 » v P: Hardware
    1
    1901
    od Zivan Zobrazit poslední příspěvek
    01 pro 2024 14:44
  • 15" notebook na domácí použití
    od michal84 » 03 zář 2024 17:57 » v Rady s výběrem hw a sestavením PC
    7
    3706
    od michal84 Zobrazit poslední příspěvek
    28 zář 2024 10:05
  • Použití mobilních dat při probíhajícím hovoru Příloha(y)
    od MK_Vs » 01 říj 2024 10:35 » v Mobily, tablety a jiná přenosná zařízení
    12
    4966
    od šulda Zobrazit poslední příspěvek
    03 říj 2024 11:20

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti