ini ఫైల్‌ను ఎలా ఇన్‌స్టాల్ చేయాలి. INI ఫైల్‌లు అంటే ఏమిటి మరియు అవి దేనికి సంబంధించినవి?

హాస్కెల్ కోసం. అప్పుడు వ్యాసాన్ని 3 భాగాలుగా విడగొట్టడం మంచిదని నేను నిర్ణయించుకున్నాను. మొదటి భాగంలో ini ఫైల్‌లోని విషయాలను వివరించడానికి సందర్భ రహిత వ్యాకరణాన్ని ఎలా వ్రాయాలో నేను మీకు చెప్తాను.

ini ఫైల్స్

ini పొడిగింపుతో ఉన్న ఫైల్‌లు Windows ప్రపంచంలోనే కాకుండా ఇతర సిస్టమ్‌లలో కూడా విస్తృతంగా ఉన్నాయి (ఉదాహరణకు, php.ini). ini ఫైల్ యొక్క ఆకృతి చాలా సులభం: ఫైల్ విభాగాలుగా విభజించబడింది, ప్రతి విభాగం "పరామితి=విలువ" ఫారమ్ యొక్క ఏకపక్ష సంఖ్యలో నమోదులను కలిగి ఉంటుంది. వివిధ విభాగాలలోని పారామీటర్ పేర్లు ఒకేలా ఉండవచ్చు.
[విభాగం 1]
పరామితి1=విలువ1
పరామితి2=విలువ2

[విభాగం_2]
పరామితి1=విలువ1
పరామితి2=విలువ2

ప్రతి పరామితిని విభాగం పేరు మరియు పరామితి పేరు ద్వారా పరిష్కరించవచ్చు: "section_1"."parameter2" వంటిది .

Ini ఫైల్‌లు వ్యాఖ్యలను కలిగి ఉంటాయి - ";"తో ప్రారంభమయ్యే పంక్తులు.

వ్యాకరణాన్ని నిర్మించడం

ఈ ఆకృతిని పొడిగించిన బ్యాక్‌కస్-నౌర్ సంజ్ఞామానంలో సందర్భ రహిత వ్యాకరణంగా వివరించడానికి ప్రయత్నిద్దాం (దీనితో పరిచయం లేని వారికి కూడా ఇది స్పష్టంగా ఉంటుందని నేను ఆశిస్తున్నాను).

ini ఫైల్ అంటే ఏమిటో వివరిద్దాం. దీన్ని చేయడానికి, మేము అన్ని నిర్మాణాలను అత్యంత క్లిష్టమైన (ఇనీ ఫైల్) నుండి సరళమైన (ఐడెంటిఫైయర్ అంటే ఏమిటి) వరకు వివరిస్తాము. అటువంటి ప్రతి నిర్మాణం ప్రత్యేక హోదాతో ముడిపడి ఉంటుంది ( నాన్ టెర్మినల్), ఇది ఇతర నాన్-టెర్మినల్స్ మరియు సాధారణ చిహ్నాలు (టెర్మినల్స్) ద్వారా నిర్వచించబడింది, ఇది నేను చేస్తాను
కోట్లు పెట్టారు.

  • ini ఫైల్ డేటా అనేక విభాగాలను కలిగి ఉంటుంది (కర్లీ బ్రేస్‌లు అంటే ఎన్నిసార్లు అయినా పునరావృతం అవుతాయి).
    ఇనిడాట = (విభాగం) .
  • ఒక విభాగం చతురస్రాకార బ్రాకెట్లలో ఒక విభాగం పేరును కలిగి ఉంటుంది, దాని తర్వాత తదుపరి లైన్‌లో అనేక ఎంట్రీలు (పారామితులు) ఉంటాయి.
    విభాగం = "[", గుర్తింపు, "]", "\n", (ప్రవేశం) .
  • ఎంట్రీ పారామీటర్ పేరు, "=" గుర్తు, పారామితి విలువను కలిగి ఉంటుంది మరియు పంక్తి ముగింపుతో ముగుస్తుంది.
    ప్రవేశం = గుర్తింపు, "=", విలువ, "\n" .
  • ఐడెంటిఫైయర్ అంటే ఏమిటో నిర్వచిద్దాం: అక్షరాలు, సంఖ్యలు లేదా సంకేతాలతో కూడిన ప్రతిదీ "_.,:()()-#@&*|" (వాస్తవానికి, ఇతర చిహ్నాలు కనిపించవచ్చు).
    ident = (అక్షరం | అంకె | "_" | "" | "," | ":" | "(" | ")" | "(" | ")" | "-" | "#" | "@" | "&" |"*" | "|") .

    ఈ నిర్వచనం పూర్తిగా సరైనది కాదు, ఎందుకంటే... ఐడెంటిఫైయర్ తప్పనిసరిగా కనీసం ఒక అక్షరాన్ని కలిగి ఉండాలి. దీన్ని ఇలా మారుద్దాం:

  • ఇప్పుడు విలువ ఏమిటో నిర్వచిద్దాం: పంక్తి ముగింపు మినహా మిగతావన్నీ (సంక్షిప్తత కోసం మనం సంజ్ఞామానాన్ని విస్తరించవలసి ఉంటుంది)
    విలువ = ("\n" కాదు) .
కొంతమంది పార్సర్‌లు/వ్యక్తులు అదనపు ఖాళీలు మరియు ఖాళీ పంక్తులను జోడించాలనుకుంటున్నారని పరిగణనలోకి తీసుకోవలసి ఉంది.
దీన్ని చేయడానికి, మేము మరో రెండు నాన్-టెర్మినల్‌లను నమోదు చేయాలి: లైన్‌లో ఉపయోగించే వైట్‌స్పేస్ అక్షరాలు మరియు కేవలం వైట్‌స్పేస్ అక్షరాలు.

ఖాళీలు దాదాపు ఎక్కడైనా ఉండవచ్చు. కాబట్టి వ్యాకరణాన్ని కొద్దిగా సరి చేద్దాం:
inidata = ఖాళీలు, (విభాగం) .
section = "[", ident, "]", stringSpaces, "\n", (entry) .
entry = గుర్తింపు, stringSpaces, "=", stringSpaces, విలువ, "\n", ఖాళీలు .
ident = identChar, (identChar) .
identChar = అక్షరం | అంకె | "_" | "." | "," | ":" | "(" | ")" | "(" | ")" | "-" | "#" | "@" | "&" |"*" | "|" .
విలువ = ("\n" కాదు) .
stringSpaces = (" " | "\t") .
spaces = (" " | "\t" | "\n" | "\r") .

వ్యాకరణానికి సంబంధించి ప్రాథమికంగా అంతే =).

నేను వ్యాఖ్యల గురించి ఏమీ చెప్పలేదని ఎవరైనా బహుశా గమనించి ఉండవచ్చు. నేను మరచిపోలేదు - వాటిని చేతితో కత్తిరించడం చాలా సులభం =) (ఒక వ్యాయామంగా, మీరు వ్యాకరణాన్ని సరిచేయవచ్చు, తద్వారా ఇది వ్యాఖ్యలను పరిగణనలోకి తీసుకుంటుంది).

ముఖ్యమైన:నేను కొంచెం మోసం చేసి, వ్యాకరణాన్ని నిర్మించాను, తద్వారా దానిలో ఎడమ పునరావృత్తి లేదు. రెండు లైబ్రరీలను నిర్మించాలని ఆలోచిస్తున్నాను

చాలా తరచుగా, ముఖ్యంగా పెద్ద ప్రాజెక్ట్‌లలో, వాటిని మళ్లీ లోడ్ చేస్తున్నప్పుడు వాటిని వర్తింపజేయడానికి కొన్ని ప్రోగ్రామ్ సెట్టింగ్‌లను సేవ్ చేయడం అవసరం. ఈ పరిస్థితిని ఊహించుకోండి - మీరు క్లయింట్ కోసం ఒక ప్రోగ్రామ్ రాశారు. అతను దానిని ప్రారంభించాడు మరియు మీరు అనుకున్నట్లుగా విండో మధ్యలో కనిపించింది. అయినప్పటికీ, అతను దీన్ని అసౌకర్యంగా గుర్తించాడు మరియు అతను దానిని పక్కకు తరలించాడు మరియు కొన్ని ఇతర అప్లికేషన్‌లతో ఏకకాలంలో పని చేయడానికి విండో పరిమాణాన్ని తగ్గించాడు. అంతా బాగానే ఉంది, ప్రోగ్రామ్ దాని పనిని చేస్తుంది మరియు వినియోగదారు సంతోషంగా ఉన్నారు. అయితే, అతను మరుసటి రోజు ఈ ప్రోగ్రామ్‌ను మళ్లీ డౌన్‌లోడ్ చేసినప్పుడు, అది మళ్లీ స్క్రీన్ మధ్యలో ఉంటుంది మరియు దాని అసలు కొలతలు కలిగి ఉంటుంది. వినియోగదారు దాన్ని మళ్లీ పక్కకు తరలించి, ఫారమ్ పరిమాణాన్ని తగ్గించాలి. ఒక చిన్నవిషయం? అయినప్పటికీ, ప్రోగ్రామర్ గురించి అభిప్రాయాన్ని ఏర్పరుచుకునే ఇటువంటి ట్రిఫ్లెస్‌లు, మరియు ఈ అభిప్రాయం చెడ్డది అయితే, మీకు కస్టమర్‌లు ఉండరు! ప్రోగ్రామర్ తన ప్రోగ్రామ్‌లో వినియోగదారు యొక్క అన్ని అవసరాలు మరియు కోరికలను తప్పక అందించాలి, తనకు ఇంకా తెలియని వాటిని కూడా. బాగా, నాకు చెప్పండి, ప్రోగ్రామింగ్ సమయంలో ఫారమ్ వివిధ స్థానాలను ఆక్రమించవచ్చని మీ ప్రోగ్రామ్‌ను ఆర్డర్ చేసిన వినియోగదారుకు ఎలా తెలుసుకోగలరు - స్క్రీన్ లేదా డెస్క్‌టాప్ మధ్యలో లేదా అభివృద్ధి సమయంలో ఉన్న స్థానం? అతను మీ ప్రోగ్రామ్‌ను ఆచరణలో ఎదుర్కొనే వరకు, ప్రోగ్రామ్ దాని సెట్టింగ్‌లను గుర్తుంచుకోవాలని మీకు చెప్పడం అతనికి ఎప్పటికీ జరగదు!

సరళమైన సందర్భంలో, మీరు 5 పారామితులను మాత్రమే సేవ్ చేయాలి - విండో యొక్క స్థితి (కుప్పకూలింది, గరిష్టీకరించబడింది), డెస్క్టాప్ యొక్క ఎడమ మరియు ఎగువ సరిహద్దుల నుండి దాని స్థానం, దాని వెడల్పు మరియు ఎత్తు. చెక్‌బాక్స్‌లు మరియు రేడియో బటన్‌ల సమూహం ఉన్న సెట్టింగ్‌ల ప్యానెల్‌తో మీరు మరింత క్లిష్టమైన ప్రోగ్రామ్‌ను సృష్టిస్తే? అక్కడ వినియోగదారు మీ డిఫాల్ట్ సెట్టింగ్‌లను మార్చుకోవచ్చు మరియు వారి స్వంత సెట్టింగులను సెట్ చేయవచ్చు. వినియోగదారు మీ ప్రోగ్రామ్‌ను "తన కోసం" సెటప్ చేయడానికి అరగంట గడిపినట్లయితే, మరియు అతను పునఃప్రారంభించినప్పుడు అతని అన్ని సెట్టింగులు సేవ్ చేయబడలేదని అతను కనుగొన్నాడు!

వినియోగదారు సెట్టింగులను సేవ్ చేయడానికి రెండు మార్గాలు ఉన్నాయి - ini ఫైల్స్ మరియు Windows సిస్టమ్ రిజిస్ట్రీ. ఈ పద్ధతుల్లో ప్రతి దాని లాభాలు మరియు నష్టాలు ఉన్నాయి.

మీరు విండోస్ రిజిస్ట్రీకి సెట్టింగులను సేవ్ చేస్తే, అవి వినియోగదారు నుండి దాచబడతాయి, అందువల్ల, అతను వాటిలో దేనినీ పాడు చేయలేరు. మరోవైపు, చాలా మంది వినియోగదారులు కంప్యూటర్‌లో నమోదు చేయబడితే, ప్రతి ఒక్కరూ ప్రోగ్రామ్ సెట్టింగ్‌లను “తమ కోసం” మార్చగలరు. ప్రతికూలత ఏమిటంటే, విండోస్ మళ్లీ ఇన్‌స్టాల్ చేయబడితే, మీరు ప్రోగ్రామ్‌ను కూడా మళ్లీ ఇన్‌స్టాల్ చేయాల్సి ఉంటుంది, ఎందుకంటే ఇది రిజిస్ట్రీలో ఉండదు.

మీరు సెట్టింగ్‌లను ini ఫైల్‌కు సేవ్ చేస్తే, మీరు ఆపరేటింగ్ సిస్టమ్‌ను మళ్లీ ఇన్‌స్టాల్ చేసినప్పుడు ప్రోగ్రామ్ సెట్టింగ్‌లను సేవ్ చేస్తుంది. అదనంగా, ini ఫైల్‌కు సెట్టింగ్‌లను సేవ్ చేయడం అమలు చేయడం సులభం. ఈ ఉపన్యాసంలో మనం ini ఫైల్స్‌తో మాత్రమే ఎలా పని చేయాలో నేర్చుకుందాం.

INI ఫైల్‌లు చాలా ప్రయోజనాలను కలిగి ఉన్నాయి. వారితో పని చేయడం సులభం మరియు అనుకూలమైనది; వారు స్ట్రింగ్, పూర్ణాంకం మరియు బూలియన్ అనే మూడు డేటా రకాలకు మద్దతు ఇస్తారు. అదనంగా, మేము సెట్టింగులను సాధారణ టెక్స్ట్ ఫైల్‌లో సేవ్ చేసినట్లయితే, సెట్టింగ్‌లలో ఒకదాన్ని మార్చడానికి మొత్తం ఫైల్‌ను ఓవర్‌రైట్ చేయడం అవసరం, కానీ ఈ పరామితిని మాత్రమే ఓవర్‌రైట్ చేయడానికి ini ఫైల్ మిమ్మల్ని అనుమతిస్తుంది.

వాస్తవానికి, ఈ రకమైన ఫైల్‌లను ఉపయోగించడానికి కొన్ని నియమాలు ఉన్నాయి.

అన్నింటిలో మొదటిది, మీరు ini ఫైల్‌లతో పని చేయబోతున్నట్లయితే, ఉపయోగాల విభాగంలో, వెంటనే వర్డ్ ఇంటర్‌ఫేస్ క్రింద, మీరు inifiles మాడ్యూల్‌ను జోడించాలి; ఇది ini ఫైల్‌లతో పని చేయడానికి మొత్తం డేటాను వివరిస్తుంది. మాడ్యూల్‌ను జోడించడం చాలా సులభం - జాబితాలో జాబితా చేయబడిన చివరి మాడ్యూల్ తర్వాత సెమికోలన్ ఉంటుంది. దానిని కామాతో భర్తీ చేయండి, inifiles అనే పదాన్ని జోడించి, ఆపై సెమికోలన్‌ను జోడించండి.

ఇంకా. డిఫాల్ట్‌గా, Windows ఇన్‌స్టాల్ చేయబడిన డైరెక్టరీలో ini ఫైల్‌లు సృష్టించబడతాయి. *.ini పొడిగింపు మరియు మీ సెట్టింగ్‌లతో కూడిన ఫైల్ అక్కడ కనిపిస్తుంది. ఇది ఎల్లప్పుడూ అనుకూలమైనది కాదు, ప్రత్యేకించి మీరు Windowsని మళ్లీ ఇన్‌స్టాల్ చేయవచ్చని అనుకుంటే. మీ ప్రోగ్రామ్ ఇన్‌స్టాల్ చేయబడిన డైరెక్టరీలో ఫైల్‌ను సృష్టించడం చాలా మంచిది. నేను ఈ డైరెక్టరీని ఎలా కనుగొనగలను?

ExtractFilePath(Application.ExeName)

ఆచరణలో ini ఫైల్ యొక్క సృష్టిని అధ్యయనం చేద్దాం. కొత్త అప్లికేషన్‌ను సృష్టించండి. ఉపయోగాల విభాగానికి inifiles మాడ్యూల్‌ని జోడించండి.

అన్నింటిలో మొదటిది, ప్రోగ్రామ్‌ను మూసివేసేటప్పుడు పారామితుల పొదుపును వ్రాస్దాం. దీన్ని చేయడానికి, ఫారమ్ కోసం OnDestroy ఈవెంట్ హ్యాండ్లర్‌ను సృష్టించండి. ఫారమ్ ఆబ్జెక్ట్ నాశనమైనప్పుడు, అంటే ప్రోగ్రామ్ పూర్తయినప్పుడు ఇటువంటి సంఘటన జరుగుతుంది. var విభాగాన్ని సృష్టించండి మరియు అక్కడ ini ఫైల్ వంటి వేరియబుల్‌ను వ్రాయండి:

ప్రోగ్రామ్ ఎక్కడ నుండి ప్రారంభించబడిందో అదే డైరెక్టరీలో మేము ఫైల్‌ను సృష్టిస్తున్నామని దయచేసి గమనించండి. మేము కేవలం సూచించినట్లయితే

ini:= TInifile.Create("my.ini");

అప్పుడు ఫైల్ విండోస్ డైరెక్టరీలో సృష్టించబడుతుంది! తరువాత, విండో యొక్క స్థానాన్ని సేవ్ చేద్దాం, అంటే, ఫారమ్ యొక్క ఎడమ మరియు ఎగువ లక్షణాలు:

// విండో స్థానాన్ని సేవ్ చేయండి:

ini.WriteInteger("పొజిషన్", "L", Form1.Left);

ini.WriteInteger("పొజిషన్", "T", Form1.Top);

ini ఫైల్ వివిధ రకాల డేటాను వ్రాయడానికి మూడు విధానాలను కలిగి ఉంది. WriteInteger, WriteString మరియు WriteBool. దీని ప్రకారం, ఈ విధులు పూర్ణాంకం, స్ట్రింగ్ మరియు బూలియన్ రకాన్ని వ్రాస్తాయి. ఈ విధులు 3 పారామితులను కలిగి ఉంటాయి. మొదటిది ini ఫైల్ యొక్క విభాగం. ఫైల్‌లోనే ఇది చదరపు బ్రాకెట్లలో వస్తుంది. మీరు విభాగానికి మీకు నచ్చిన ఏదైనా పేరు పెట్టవచ్చు, తప్పనిసరిగా స్థానం కాదు. రెండవ పరామితి సేవ్ చేయబడిన పరామితి పేరు; ఉదాహరణలో, మేము ఈ పరామితిని "L" మరియు "T" ​​అక్షరాల రూపంలో సూచించాము, అయినప్పటికీ దీనిని "ఎడమ", "టాప్" లేదా మరేదైనా వ్రాయవచ్చు.

ఫంక్షన్ యొక్క మూడవ పరామితి దాని విలువ. ఫారమ్ యొక్క ఎడమ మరియు ఎగువ లక్షణాలు పూర్ణాంక విలువలను కలిగి ఉన్నందున, మేము పూర్ణాంకాలను వ్రాయడానికి WriteInteger ఫంక్షన్‌ని ఉపయోగిస్తాము. పై ఉదాహరణ ఫలితంగా, ini ఫైల్‌లో ఇలాంటి శాసనం కనిపిస్తుంది:

// విండో పరిమాణాలను సేవ్ చేయండి:

ini.WriteInteger("పరిమాణం", "W", Form1.Width);

ini.WriteInteger("పరిమాణం", "H", Form1.Height);

మేము ini ఫైల్‌కు పారామితులను సేవ్ చేసిన తర్వాత, మనం దాన్ని మూసివేయాలి:

//ఫైల్‌ను మూసివేయండి:

ini.Free;

అంతే, ఫైల్ మూసివేయబడింది మరియు సెట్టింగ్‌లు సేవ్ చేయబడతాయి. ప్రాజెక్ట్‌ను సేవ్ చేయండి, దానిని కంపైల్ చేయండి మరియు అది ఎలా పనిచేస్తుందో చూడండి. సృష్టించిన ini ఫైల్‌ను తెరవండి, ఇది మీరు చదవగలిగే మరియు సవరించగలిగే సాధారణ టెక్స్ట్ ఫైల్.

అయితే, మేము సగం పని మాత్రమే చేసాము. మేము సెట్టింగ్‌లను సేవ్ చేసాము, కానీ మనం వాటిని ఎలా చదవగలము? ఇదంతా సరిగ్గా అదే విధంగా జరుగుతుంది, రివర్స్‌లో మాత్రమే. ఫారమ్ యొక్క విధ్వంసం ఆస్తికి బదులుగా, మేము ఫారమ్ యొక్క సృష్టి ఆస్తిని (onCreate) ఉపయోగిస్తాము, వ్రాయడానికి బదులుగా, మేము చదవడాన్ని ఉపయోగిస్తాము మరియు ఫారమ్ లక్షణాల విలువలను ఫైల్‌కు వ్రాయడానికి బదులుగా, మేము వాటిని ఫైల్ నుండి చదివి కేటాయిస్తాము. ఫారమ్ లక్షణాలకు ఈ విలువలు. దీని ప్రకారం, ini ఫైల్ నుండి పారామితులను చదవడానికి మాకు మూడు విధానాలు ఉన్నాయి: ReadInteger, ReadString మరియు ReadBool.

కాబట్టి, onCreate ఫారమ్ కోసం ఈవెంట్ హ్యాండ్లర్‌ని క్రియేట్ చేద్దాం:

(ఫారమ్‌ను సృష్టించేటప్పుడు)

విధానం TForm1.FormCreate(పంపినవారు: TObject);

ini: TIniFile; //ఇనిఫైల్ రకం యొక్క వేరియబుల్‌ను ప్రకటించండి

//ఇప్పుడు దీన్ని సృష్టించండి:

ini:= TInifile.Create(ExtractFilePath(Application.ExeName)+"my.ini");

// విండో స్థానం దరఖాస్తు:

ఫారం1.ఎడమ:= ini.ReadInteger("పొజిషన్", "L", 329);

Form1.Top:= ini.ReadInteger("పొజిషన్", "T", 261);

// విండో పరిమాణాలను చదవండి:

ఫారం1.వెడల్పు:= ini.ReadInteger("పరిమాణం", "W", 384);

ఫారం1.ఎత్తు:= ini.ReadInteger("పరిమాణం", "H", 312);

//ఫైల్‌ను మూసివేయండి:

ini.Free;

రికార్డింగ్ ఫంక్షన్లలో మూడవ పరామితి ఇక్కడ ఆసక్తికరంగా ఉంటుంది. మనకు విలువలు అవసరం లేదని అనిపిస్తుంది; మేము వాటిని పేర్కొన్న విభాగాల నుండి తీసుకుంటాము. కానీ మూడవ పరామితి అవసరం; ఇది "డిఫాల్ట్" విలువను నిర్దేశిస్తుంది.

ఫారమ్‌ను సృష్టించేటప్పుడు, దానికి తగిన పరిమాణం మరియు స్థానం ఇవ్వండి మరియు ఎడమ, ఎగువ, వెడల్పు మరియు ఎత్తు లక్షణాల విలువలను చూడండి. మీరు ఈ విలువలను డిఫాల్ట్ విలువలుగా వ్రాస్తారు. ఫైల్ ఇంకా ఉనికిలో లేకుంటే లేదా ఈ పరామితిని చదివేటప్పుడు కొంత లోపం సంభవించినట్లయితే, ఉదాహరణకు, అవసరమైన లైన్ కనుగొనబడలేదు, డిఫాల్ట్ విలువ ఉపయోగించబడుతుంది. అవసరమైన పంక్తిని చదివితే, దానిలో పేర్కొన్న విలువ వర్తించబడుతుంది.

ప్రాజెక్ట్ను సేవ్ చేయండి, దానిని కంపైల్ చేయండి మరియు ప్రోగ్రామ్ ఎలా పనిచేస్తుందో చూడండి. ఫలితంగా వచ్చే ini ఫైల్ కింది వచనాన్ని కలిగి ఉంటుంది:

ప్రోగ్రామ్‌ను ప్రారంభించే ముందు కొంత పరామితిని మార్చడానికి ప్రయత్నించండి, ఉదాహరణకు, పేర్కొనండి

అప్పుడు ప్రోగ్రామ్‌ను అమలు చేయండి మరియు విండో స్థానం ఎలా మారుతుందో చూడండి! మార్గం ద్వారా, ప్రోగ్రామ్‌ను దాచడానికి ఇది మంచి మార్గం. మీరు వెడల్పు ఆస్తి (విండో వెడల్పు) కంటే ఎడమ ప్రాపర్టీ కోసం పెద్ద సంఖ్యను పేర్కొన్నట్లయితే మరియు అదే సమయంలో సంఖ్యను ప్రతికూలంగా చేస్తే, ప్రోగ్రామ్ విండో స్క్రీన్ నుండి ఎడమ వైపుకు తరలించినట్లు కనిపిస్తుంది. ప్రోగ్రామ్ నడుస్తోంది, ఇది సిస్టమ్ లైన్‌లో కనిపిస్తుంది, కానీ విండో లేదు!

వర్క్ ప్రోగ్రామ్ విండోను స్లైడ్ చేసి, దాని నుండి నిష్క్రమించండి. దీన్ని మళ్లీ అమలు చేయండి - విండో యొక్క చివరి స్థానం సేవ్ చేయబడింది!

ప్రోగ్రామ్‌తో కొనసాగి, స్ట్రింగ్ పారామీటర్‌ని క్రియేట్ చేద్దాం. ఫారమ్‌లో లేబుల్ కాంపోనెంట్‌ను ఇన్‌స్టాల్ చేయండి, దాని యొక్క క్యాప్షన్ ప్రాపర్టీలో ఇలా వ్రాయండి: "కొత్త విండో శీర్షికను నమోదు చేయండి." దిగువన, ఎడిట్ కాంపోనెంట్‌ను ఇన్‌స్టాల్ చేయండి, ఇక్కడ వినియోగదారు వచనాన్ని నమోదు చేస్తారు. "వర్తించు" అని లేబుల్ చేయబడిన బటన్ ఇంకా తక్కువగా ఉంది.

సవరణ భాగం నుండి వచనాన్ని తీసివేసి, బటన్ హ్యాండ్లర్‌లో కింది వాటిని వ్రాయండి:

Form1.Caption:= Edit1.Text;

మీరు ఫారమ్ పేర్లను మార్చలేదని లేదా సవరించలేదని భావించబడుతుంది. మీరు ఫారమ్ పేరును మార్చినట్లయితే, ఉదాహరణకు, fMainకి, ఆపై వ్రాయండి

//ఫారమ్ శీర్షికను సేవ్ చేయండి:

ini.WriteString("పరం", "C", Form1.Caption);

మరియు onCreate విధానంలో, మళ్లీ, ini ఫైల్‌ను మూసివేయడానికి ముందు, జోడించండి:

//ఫారమ్ శీర్షికను చదవండి:

ఫారమ్1.శీర్షిక:= ini.ReadString("పరం", "C", "ప్రోగ్రామ్");

మీరు చూడగలిగినట్లుగా, తీగలతో పని చేయడం సంఖ్యలతో పనిచేయడం కంటే చాలా భిన్నంగా లేదు! ప్రాజెక్ట్‌ను సేవ్ చేయండి, కంపైల్ చేయండి మరియు ఇది ఎలా పనిచేస్తుందో చూడండి. క్రొత్త విండో పేరును నమోదు చేయండి, "వర్తించు" బటన్‌ను క్లిక్ చేసి, ప్రోగ్రామ్ నుండి నిష్క్రమించి, దాన్ని మళ్లీ తెరవండి. ప్రోగ్రామ్ యొక్క సిస్టమ్ లైన్‌లోని టెక్స్ట్ భద్రపరచబడాలి.

ఇప్పుడు తార్కిక పరామితితో పని చేద్దాం. ఫారమ్‌లో ఒక చెక్‌బాక్స్‌ను ఇన్‌స్టాల్ చేయండి. దాని క్యాప్షన్ ప్రాపర్టీలో "పారామీటర్" అని వ్రాయండి. వాస్తవానికి, ఏ రకమైన పరామితిని సేవ్ చేయవచ్చనేది మాకు ముఖ్యం కాదు, ఉదాహరణకు, బటన్‌పై క్లిక్ చేయడాన్ని అనుమతించాలా, “ప్రోగ్రామ్ గురించి” ఫారమ్‌ను ప్రదర్శించడాన్ని అనుమతించాలా, ఏదైనా భాగం కనిపించడం లేదా కనిపించడం లేదు ... మీరు సేవ్ చేయాలనుకునే పారామితులు చాలా ఉండవచ్చు. ఇప్పుడు మాకు ఒక విషయం ముఖ్యమైనది: చెక్‌బాక్స్ భాగం యొక్క తనిఖీ చేయబడిన ఆస్తి ఒప్పు (పరామితి ప్రారంభించబడింది) లేదా తప్పు (పరామితి నిలిపివేయబడింది) కావచ్చు. ఇది మనం ini ఫైల్‌లో సేవ్ చేసి, ఆపై దాని నుండి చదవాలి.

onDestroy ఈవెంట్ విధానంలో ini ఫైల్‌ను మూసివేయడానికి ముందు, ఫ్లాగ్ స్థితిని గుర్తుంచుకోండి:

//జెండాను గుర్తుంచుకో:

ini.WriteBool("పరం", "CB1", CheckBox1.చెక్ చేయబడింది);

చెక్‌బాక్స్ నిలిపివేయబడితే, తప్పుకు బదులుగా, 0 అనేది ini-file పారామీటర్‌కు వ్రాయబడుతుంది. ప్రారంభించబడితే, 1 వ్రాయబడుతుంది.

ఇప్పుడు, ini ఫైల్‌ను మూసివేయడానికి ముందు, onCreate ఈవెంట్ విధానంలో, ini ఫైల్ నుండి డేటాను చదవడానికి పంక్తులను జోడించండి:

//చెక్‌బాక్స్ స్థితిని చదవండి:

చెక్‌బాక్స్1.చెక్ చేయబడింది:= ini.ReadBool("పరం", "CB1", ట్రూ);

డిఫాల్ట్‌గా, చెక్‌బాక్స్ ప్రారంభించబడుతుంది. వ్యాఖ్యలు అనవసరం అని నా అభిప్రాయం. మీ ప్రతి ప్రోగ్రామ్‌లో పారామీటర్ సేవింగ్‌ను చేర్చడానికి ప్రయత్నించండి.

వివరణాత్మక అధికారిక ఫార్మాట్ స్పెసిఫికేషన్ లేదు. Windows 95తో ప్రారంభించి, INI ఫైల్‌లు వాడుకలో లేనివిగా పరిగణించబడతాయి మరియు వాటికి బదులుగా సిస్టమ్ రిజిస్ట్రీ ()ని ఉపయోగించాలని Microsoft సూచిస్తుంది. అయినప్పటికీ, INI ఫైల్‌లు ఇతర తయారీదారుల నుండి అప్లికేషన్‌లు మరియు Microsoft నుండి OS భాగాలు రెండింటి ద్వారా ఉపయోగించడం కొనసాగుతుంది. ఉదాహరణకు, అనేక ఆపరేటింగ్ సిస్టమ్‌ల నుండి ఎంచుకోవడానికి బూట్ చేస్తున్నప్పుడు boot.ini ఫైల్ Windows NT4/2000/XPలో ఉపయోగించబడుతుంది.

INI ఫైల్‌లు విండోస్‌లో ప్రజాదరణ పొందినప్పటికీ, వాటిని ఏ OSలోనైనా ఉపయోగించవచ్చు. ఈ ఫార్మాట్ యొక్క సరళమైన నిర్మాణం వాటిని ప్రోగ్రామాటిక్‌గా ప్రాసెస్ చేయడాన్ని సులభతరం చేస్తుంది మరియు మానవ పఠనం మరియు మార్పు కోసం తగినంత స్పష్టమైన రూపాన్ని కలిగి ఉంటుంది. ఈ ఫార్మాట్ కోసం సింటాక్స్ హైలైటింగ్ మరియు ఫోల్డింగ్‌ని ఉపయోగించే టెక్స్ట్ ఎడిటర్‌లు (SciTE లేదా నోట్‌ప్యాడ్++ వంటివి) ఉన్నాయి, INI ఫైల్‌లను మాన్యువల్‌గా సవరించడం సులభం చేస్తుంది.

పారామితులను వేరు చేయడానికి విభాగాలను ఉపయోగించడం డేటాను నిర్వహించడానికి సహాయపడుతుంది, అయితే మరింత సంక్లిష్టమైన క్రమానుగత నిర్మాణంతో పెద్ద సెట్టింగ్‌లను నిల్వ చేయడానికి, XML ఆకృతి బాగా సరిపోతుంది.

ఫైల్ ఫార్మాట్

ini ఫైల్‌లు సాధారణ టెక్స్ట్ ఫైల్‌లు, వీటిని ఏదైనా టెక్స్ట్ ఎడిటర్ ఉపయోగించి సవరించవచ్చు మరియు వీక్షించవచ్చు. ini ఫైల్‌లు క్రింది ఆకృతిని కలిగి ఉంటాయి:

; కొన్ని వ్యాఖ్య # Unix శైలి వ్యాఖ్య ; విభాగం వ్యాఖ్య var1=value_1 ; కొన్నిసార్లు ఒక ప్రత్యేక పరామితి కోసం వ్యాఖ్య అనుమతించబడుతుంది var2=value_2 var1=value_1 var2=value_2 ; కొన్నిసార్లు కామాలతో వేరు చేయబడిన అనేక విలువలను జాబితా చేయడానికి అనుమతించబడుతుంది var1=value_1_1, value_1_2, value_1_3 var2=value_2 ; జెండ్ ఫ్రేమ్‌వర్క్‌లో, ఒక శ్రేణి క్రింది విధంగా నిర్వచించబడింది var1=value_1_1 var1=value_1_2 var1=value_1_3 var2=value_2 ; కొన్నిసార్లు విలువలు మోడ్= Vid= FolderType=Generic తప్పిపోతాయి

INI ఫైల్‌లో ఇవి ఉండవచ్చు:

  • ఖాళీ పంక్తులు ;
  • వ్యాఖ్యలు - చిహ్నం నుండి " ; " (సెమికోలన్) లైన్ చివరి వరకు;
  • విభాగం శీర్షికలు - చతురస్రాకార బ్రాకెట్లలో చేర్చబడిన విభాగం పేరుతో కూడిన పంక్తులు " »;
  • పరామితి విలువలు - వంటి పంక్తులు " కీ = విలువ ».

ఒప్పందాలు

INI ఫైల్ ఫార్మాట్ కోసం సాధారణంగా ఆమోదించబడిన ప్రమాణం లేదు. అటువంటి ఫైళ్ళ యొక్క సాధారణ నిర్మాణం సాధారణంగా భద్రపరచబడినప్పటికీ, అనేక సాఫ్ట్‌వేర్ ఉత్పత్తులు అదనపు లక్షణాలను లేదా దానికి విరుద్ధంగా పరిమితులను పరిచయం చేస్తాయి.

  • వ్యాఖ్యలు . కొన్ని అప్లికేషన్‌లు (ఉదాహరణకు, సాంబా) ";" మరియు "#" రెండింటినీ వ్యాఖ్య అక్షరం యొక్క ప్రారంభంగా పరిగణిస్తాయి.
  • బ్యాక్‌స్లాష్ . కొన్నిసార్లు మీరు తదుపరి పంక్తిని దీనికి కొనసాగింపుగా ప్రకటించడానికి బ్యాక్‌స్లాష్ "\"ని ఉపయోగించవచ్చు. ఈ సందర్భంలో, అవి ఒక మొత్తం లైన్‌గా ప్రాసెస్ చేయబడతాయి. కొన్నిసార్లు ప్రత్యేక అక్షరాలను నమోదు చేయడానికి "\"ని ఉపయోగించడం కూడా సాధ్యమవుతుంది, ఉదాహరణకు, లైన్ బ్రేక్‌ను సూచించడానికి "\n".
  • అదే పారామితులు . చాలా సందర్భాలలో, ఒకే విభాగంలో రెండు సారూప్య కీలను కలిగి ఉండటం నిషేధించబడింది (చివరి కీ మాత్రమే ప్రాసెస్ చేయబడుతుంది).
  • అదే విభాగం పేర్లు . సాధారణంగా, ఫైల్‌లో ఒకే పేర్లతో అనేక విభాగాలు ఉంటే, చివరిది మాత్రమే ప్రాసెస్ చేయబడుతుంది. కొన్ని అప్లికేషన్‌లు అటువంటి అన్ని విభాగాలలోని కంటెంట్‌లను ఒకటిగా మిళితం చేస్తాయి.

అమలు ఉదాహరణ

ఇవ్వబడిన సరైన ini ఫైల్‌ను ప్రాసెస్ చేసే మరియు దానిని ప్రత్యేక రూపంలో ప్రదర్శించే కోడ్‌ని చూద్దాం:

int main() (freopen("input.txt", "r", stdin); freeopen("output.txt", "w", stdout); int n; cin >> n; cin.get(); మ్యాప్ >mp; నుండి స్ట్రింగ్ = ""; కోసం (int i = 0; i< n; i++) { string s; getline(cin, s); for (size_t j = 0; j < s.size();) { if (s[j] == " ") s.erase(j, 1); else j++; } if (s.size() == 0 || s == ";") { continue; } if (s == "[") { s.erase(0, 1); s.erase(s.size() - 1, 1); from = s; mp; } else { mp = s.substr(s.find("=") + 1, s.size() - s.find("=")); } } for (map < string, map > :: iterator it = mp.begin(); అది != mp.end(); it++) ( అయితే (అది -> మొదటిది != "") ( cout<< "[" << it ->ప్రధమ<<"]" << endl; } for (map < string, string >:: iterator itt = mp.begin(); itt != mp.end(); itt++) (కౌట్<< itt ->ప్రధమ<< "=" << itt ->రెండవ<< endl; } } return 0; }

ఇది కూడ చూడు

వ్యాసం ".ini" గురించి సమీక్ష వ్రాయండి

లింకులు

ఎక్సెర్ప్ట్ క్యారెక్టరైజింగ్.ini

- నన్ను క్షమించండి, మడోన్నా. నువ్వు చాలా పొరబడ్డావని, ప్రేమ ఎవరికీ మేలు చేయలేదని మాత్రమే చెప్పాడు. అది మీకు ఏదైనా చెబితే, ఇసిడోరా.
భయాందోళనలో చెల్లాచెదురుగా ఉన్న నా ఆలోచనలను సేకరించడానికి ప్రయత్నిస్తున్నాను, నేను నవ్వాను. మరియు అతను చెప్పిన వార్తతో నేను ఎంత షాక్ అయ్యానో మొరోనాకు చూపించకుండా ఉండటానికి ప్రయత్నిస్తూ, ఆమె వీలైనంత ప్రశాంతంగా చెప్పింది:
"మీకు చికిత్స చేయడానికి మీరు నన్ను అనుమతిస్తారా, మాన్సియర్?" మీరు నా "మంత్రగత్తె" సహాయాన్ని మళ్లీ ఉపయోగించవచ్చని నాకు అనిపిస్తోంది. మరియు సందేశానికి ధన్యవాదాలు... చెడ్డది కూడా. శత్రువు యొక్క ప్రణాళికలను ముందుగానే తెలుసుకోవడం ఎల్లప్పుడూ మంచిది, చెత్తగా కూడా ఉంది, కాదా?
మోరోన్ నా కళ్ళలోకి జాగ్రత్తగా చూసాడు, బాధాకరంగా అతనికి ముఖ్యమైన కొన్ని ప్రశ్నలకు సమాధానాన్ని కనుగొనడానికి ప్రయత్నించాడు. కానీ నా ఆత్మ అనారోగ్యానికి గురికాకుండా ప్రపంచం నుండి తనను తాను మూసివేసింది ... రాబోయే పరీక్షను తట్టుకోడానికి ... మరియు కార్డినల్ ఇప్పుడు శిక్షణ పొందిన “లౌకిక” రూపాన్ని మాత్రమే పలకరించింది, అది అతన్ని చొచ్చుకుపోనివ్వలేదు. నా ఆత్మ, భయంతో స్తంభించిపోయింది...
"మీరు నిజంగా భయపడుతున్నారా, మడోన్నా?" - మోరోన్ నిశ్శబ్దంగా అడిగాడు. - మీరు అతని కంటే వెయ్యి రెట్లు బలవంతులు! అతడికి ఎందుకు భయపడుతున్నావు..!
– నేను ఇంకా పోరాడలేనిది అతని వద్ద ఉంది ... మరియు నేను ఇంకా అతన్ని చంపలేను. ఓహ్, మీ ఎమినెన్స్, నన్ను నమ్మండి, ఈ విషసర్పానికి కీని నేను కనుగొంటే! నేను నీ బాధను తగ్గిస్తాను.
కానీ కార్డినల్, చిరునవ్వుతో నిరాకరించాడు.
– రేపు నేను మరొక ప్రశాంతమైన ప్రదేశంలో ఉంటాను. మరియు కరాఫా కొంతకాలం నన్ను మరచిపోతుందని నేను ఆశిస్తున్నాను. సరే, మడోన్నా, నీ సంగతేంటి? మీకేం అవుతుంది? మీ ఖైదు నుండి నేను మీకు సహాయం చేయలేను, కానీ నా స్నేహితులు చాలా ప్రభావవంతమైనవారు. నేను మీకు సహాయం చేయగలనా?
– మాన్సియర్, మీ ఆందోళనకు ధన్యవాదాలు. కానీ నాకు ఫలించని ఆశలు లేవు, ఇక్కడ నుండి బయటపడాలని ఆశతో ఉంది ... అతను నన్ను ఎప్పటికీ వెళ్ళనివ్వడు ... నా పేద కుమార్తె కాదు. నేను దానిని నాశనం చేయడానికి జీవిస్తున్నాను. అతనికి ప్రజల మధ్య స్థానం ఉండకూడదు.
"ఇసిడోరా, నేను నిన్ను ఇంతకు ముందు గుర్తించకపోవటం విచారకరం." బహుశా మనం మంచి స్నేహితులు అయ్యి ఉండేవాళ్లం. ఇప్పుడు వీడ్కోలు. నువ్వు ఇక్కడ ఉండలేవు. నాన్న ఖచ్చితంగా నాకు "అదృష్టం" కోరడానికి వస్తాడు. మీరు అతనిని ఇక్కడ కలవాల్సిన అవసరం లేదు. నీ కూతుర్ని కాపాడు, మడోన్నా... మరియు కరాఫాను వదులుకోవద్దు. దేవుడు నీకు తోడుగా ఉండును గాక!
- మీరు ఏ దేవుడి గురించి మాట్లాడుతున్నారు, మాన్సియర్? - నేను విచారంగా అడిగాను.
"ఖచ్చితంగా, కరాఫా ప్రార్థిస్తున్న వ్యక్తి కాదు!" మోరోన్ నవ్వుతూ వీడ్కోలు పలికాడు.
నేను ఒక క్షణం అక్కడ నిలబడి, నా ఆత్మలో ఈ అద్భుతమైన వ్యక్తి యొక్క చిత్రాన్ని గుర్తుంచుకోవడానికి ప్రయత్నిస్తాను, మరియు వీడ్కోలు పలికి, నేను కారిడార్‌లోకి వెళ్ళాను.
ఆందోళన, భయాందోళనలు మరియు భయంతో ఆకాశం తెరుచుకుంది!.. ఒంటరిగా ఉన్న నా అమ్మాయి ఇప్పుడు ఎక్కడ ఉంది?! మెటియోరాను విడిచిపెట్టడానికి ఆమెను ప్రేరేపించినది ఏమిటి?.. కొన్ని కారణాల వల్ల అన్నా నేను విన్నట్లు నాకు తెలిసినప్పటికీ, నా నిరంతర కాల్‌లకు అన్నా స్పందించలేదు. ఇది మరింత ఆందోళనను కలిగించింది మరియు నాలోని ఏ బలహీనతనైనా కరాఫా ఖచ్చితంగా సద్వినియోగం చేసుకుంటుందని నాకు తెలుసు కాబట్టి, నా ఆత్మను కాల్చేస్తున్న భయాందోళనలకు లొంగిపోకుండా నేను నా చివరి శక్తిని మాత్రమే పట్టుకున్నాను. ఆపై నేను ప్రతిఘటించడం ప్రారంభించేలోపు నేను ఓడిపోవాలి ...
"నా" ఛాంబర్లలో ఏకాంతంగా, నేను పాత గాయాలను "నొక్కాను", అవి ఎప్పటికీ నయం అవుతాయని కూడా ఆశించలేదు, కానీ కరాఫాతో యుద్ధం ప్రారంభించే అవకాశం వచ్చినప్పుడు వీలైనంత బలంగా మరియు ప్రశాంతంగా ఉండటానికి ప్రయత్నిస్తున్నాను. అద్భుతం జరగాలని ఆశించడంలో అర్థం లేదు, ఎందుకంటే మన విషయంలో అద్భుతాలు జరగవని నాకు బాగా తెలుసు... జరిగేదంతా నేను మాత్రమే చేయాల్సి ఉంటుంది.
నిష్క్రియాత్మకత చంపేస్తోంది, నన్ను అందరూ మరచిపోయినట్లు, నిస్సహాయంగా మరియు అనవసరంగా భావిస్తారు... మరియు నేను తప్పు చేశానని నాకు బాగా తెలిసినప్పటికీ, "బ్లాక్ డౌట్" అనే పురుగు నా ఎర్రబడిన మెదడును విజయవంతంగా కొరికింది, అక్కడ ఒక ప్రకాశవంతమైన అనిశ్చితి జాడను వదిలివేసింది. విచారం...
నేనే కరాఫాతో ఉన్నానని పశ్చాత్తాపపడలేదు... కానీ అన్నా కోసం నేను చాలా భయపడ్డాను. అలాగే, నా కోసం నా ప్రియమైన మరియు ప్రపంచంలోని అత్యుత్తమ వ్యక్తులైన మా నాన్న మరియు గిరోలామో మరణానికి నేను ఇప్పటికీ నన్ను క్షమించలేకపోయాను... నేను ఎప్పుడైనా వారిపై ప్రతీకారం తీర్చుకోగలనా?.. ఎప్పుడు అందరూ సరైనవారు కాదా? కరాఫాను ఓడించలేమని వారు అంటున్నారు? నేను అతనిని నాశనం చేయనని, కానీ నేనే మూర్ఖంగా చనిపోతానా? మరియు ఈ సమయంలో పోప్‌ను నాశనం చేయాలనే ఆశ నాలో మాత్రమే జీవించడం నిజంగా సాధ్యమేనా?!..
ఇంకొక విషయం... చాలా అలసిపోయానని అనిపించింది... అమానవీయంగా, భయంకరంగా అలసిపోయానని... ఒక్కోసారి అనిపించేది కూడా - మెటియోరాకు వెళితే బాగుండేదేమో?.. అంతెందుకు, ఎవరైనా అక్కడికి వెళ్లారా? .. మరియు ప్రజలు తమ చుట్టూ చనిపోతున్నారని వారు ఎందుకు ఆందోళన చెందలేదు. వారు తమను తాము అనూహ్యంగా ప్రతిభావంతులుగా భావించినందున, వారు తెలుసుకోవడం, సన్నిహిత జ్ఞానాన్ని పొందడం చాలా ముఖ్యం ... కానీ, మరోవైపు, వారు నిజంగా "అసాధారణమైనవి" అయితే, వారు సరళమైన వాటిని ఎలా మరచిపోగలరు, కానీ నా అభిప్రాయం , మా చాలా ముఖ్యమైన ఆజ్ఞ ఏమిటంటే - ఇతరులకు మీ సహాయం అవసరమైనప్పుడు పదవీ విరమణ చేయవద్దు ... వారు తమను తాము అంత సులభంగా ఎలా మూసివేయగలిగారు, చుట్టూ కూడా చూడకుండా, ఇతరులకు సహాయం చేయడానికి ప్రయత్నించకుండా?.. వారు తమ ఆత్మలను ఎలా శాంతింపజేసుకున్నారు?

INI ఫైల్ తెరవడంలో సమస్యలకు అత్యంత సాధారణ కారణం మీ కంప్యూటర్‌లో ఇన్‌స్టాల్ చేయబడిన తగిన అప్లికేషన్‌లు లేకపోవడమే. ఈ సందర్భంలో, INI ఫార్మాట్‌లో ఫైల్‌లను అందించే అప్లికేషన్‌ను కనుగొనడం, డౌన్‌లోడ్ చేయడం మరియు ఇన్‌స్టాల్ చేయడం సరిపోతుంది - అటువంటి ప్రోగ్రామ్‌లు క్రింద అందుబాటులో ఉన్నాయి.

శోధన వ్యవస్థ

ఫైల్ పొడిగింపును నమోదు చేయండి

సహాయం

క్లూ

దయచేసి గమనించండి, మన కంప్యూటర్ చదవని ఫైల్‌ల నుండి కొన్ని ఎన్‌కోడ్ చేసిన డేటా కొన్నిసార్లు నోట్‌ప్యాడ్‌లో చూడవచ్చు. ఈ విధంగా మేము టెక్స్ట్ లేదా సంఖ్యల శకలాలు చదువుతాము - ఈ పద్ధతి INI ఫైళ్ళ విషయంలో కూడా పనిచేస్తుందో లేదో తనిఖీ చేయడం విలువ.

జాబితా నుండి అప్లికేషన్ ఇప్పటికే ఇన్‌స్టాల్ చేయబడితే ఏమి చేయాలి?

తరచుగా ఇన్‌స్టాల్ చేయబడిన అప్లికేషన్ స్వయంచాలకంగా INI ఫైల్‌కి లింక్ చేయాలి. ఇది జరగకపోతే, కొత్తగా ఇన్‌స్టాల్ చేయబడిన అప్లికేషన్‌తో INI ఫైల్ విజయవంతంగా మాన్యువల్‌గా అనుబంధించబడుతుంది. INI ఫైల్‌పై కుడి-క్లిక్ చేసి, ఆపై అందుబాటులో ఉన్న వాటి నుండి "డిఫాల్ట్ ప్రోగ్రామ్‌ను ఎంచుకోండి" ఎంపికను ఎంచుకోండి. అప్పుడు మీరు "వీక్షణ" ఎంపికను ఎంచుకుని, మీకు ఇష్టమైన అప్లికేషన్‌ను కనుగొనాలి. నమోదు చేసిన మార్పులను తప్పనిసరిగా "సరే" ఎంపికను ఉపయోగించి ఆమోదించాలి.

INI ఫైల్‌ను తెరిచే ప్రోగ్రామ్‌లు

విండోస్
MacOS
Linux

నేను INI ఫైల్‌ను ఎందుకు తెరవలేను?

INI ఫైల్‌లతో సమస్యలు ఇతర కారణాలను కూడా కలిగి ఉండవచ్చు. కొన్నిసార్లు INI ఫైల్‌లకు మద్దతు ఇచ్చే సాఫ్ట్‌వేర్‌ను మీ కంప్యూటర్‌లో ఇన్‌స్టాల్ చేయడం కూడా సమస్యను పరిష్కరించదు. INI ఫైల్‌ను తెరవడం మరియు దానితో పని చేయడం అసమర్థతకు కారణం కూడా కావచ్చు:

రిజిస్ట్రీ ఎంట్రీలలో అనుచితమైన INI ఫైల్ అసోసియేషన్‌లు
- మేము తెరిచే INI ఫైల్ యొక్క అవినీతి
- INI ఫైల్ ఇన్ఫెక్షన్ (వైరస్లు)
- చాలా తక్కువ కంప్యూటర్ వనరు
- కాలం చెల్లిన డ్రైవర్లు
- Windows రిజిస్ట్రీ నుండి INI పొడిగింపును తీసివేయడం
- INI పొడిగింపుకు మద్దతు ఇచ్చే ప్రోగ్రామ్ యొక్క అసంపూర్ణ ఇన్‌స్టాలేషన్

ఈ సమస్యలను పరిష్కరించడం వలన మీరు INI ఫైల్‌లను ఉచితంగా తెరవగలరు మరియు పని చేయగలరు. మీ కంప్యూటర్‌కు ఇప్పటికీ ఫైల్‌లతో సమస్యలు ఉన్నట్లయితే, మీరు ఖచ్చితమైన కారణాన్ని గుర్తించే నిపుణుడి సహాయం తీసుకోవాలి.

నా కంప్యూటర్ ఫైల్ పొడిగింపులను చూపదు, నేను ఏమి చేయాలి?

ప్రామాణిక Windows సిస్టమ్ సెట్టింగ్‌లలో, కంప్యూటర్ వినియోగదారుకు INI ఫైల్ పొడిగింపు కనిపించదు. దీన్ని సెట్టింగ్‌లలో విజయవంతంగా మార్చవచ్చు. కేవలం "కంట్రోల్ ప్యానెల్"కి వెళ్లి, "వీక్షణ మరియు వ్యక్తిగతీకరణ" ఎంచుకోండి. అప్పుడు మీరు "ఫోల్డర్ ఎంపికలు" కి వెళ్లి "వీక్షణ" తెరవాలి. "వీక్షణ" ట్యాబ్‌లో "తెలిసిన ఫైల్ రకాల పొడిగింపులను దాచు" ఎంపిక ఉంది - మీరు ఈ ఎంపికను ఎంచుకోవాలి మరియు "సరే" బటన్‌ను క్లిక్ చేయడం ద్వారా ఆపరేషన్‌ను నిర్ధారించాలి. ఈ సమయంలో, INIతో సహా అన్ని ఫైల్‌ల పొడిగింపులు ఫైల్ పేరు ద్వారా క్రమబద్ధీకరించబడి కనిపిస్తాయి.

ఇని tialization ఫైల్ అనేది Microsoft Windows, Windows NT మరియు కొన్ని అప్లికేషన్‌ల కోసం సెట్టింగ్‌ల డేటాను కలిగి ఉన్న కాన్ఫిగరేషన్ ఫైల్.

Windows యొక్క మొట్టమొదటి సంస్కరణల నుండి కనిపించింది. Windows వెర్షన్ 1.01లో, ఇది WIN.INI ఫైల్ మాత్రమే. Windows 3.0 SYSTEM.INI ఫైల్‌ను జోడించింది. ఆపై వారి సంఖ్య త్వరగా మరియు అనియంత్రితంగా పెరగడం ప్రారంభమైంది.

వివరణాత్మక అధికారిక ఫార్మాట్ స్పెసిఫికేషన్ లేదు. Windows 95తో ప్రారంభించి, INI ఫైల్‌లు వాడుకలో లేనివిగా పరిగణించబడతాయి మరియు మైక్రోసాఫ్ట్ వాటికి ప్రత్యామ్నాయంగా సిస్టమ్ రిజిస్ట్రీ (రిజిస్ట్రీ) వినియోగాన్ని అందిస్తుంది. అయినప్పటికీ, INI ఫైల్‌లు ఇతర తయారీదారుల నుండి అప్లికేషన్‌లు మరియు Microsoft నుండి OS భాగాలు రెండింటి ద్వారా ఉపయోగించడం కొనసాగుతుంది. ఉదాహరణకు, అనేక ఆపరేటింగ్ సిస్టమ్‌ల నుండి ఎంచుకోవడానికి బూట్ చేస్తున్నప్పుడు boot.ini ఫైల్ Windows NT4/2000/XPలో ఉపయోగించబడుతుంది.

INI ఫైల్‌లు విండోస్‌లో ప్రజాదరణ పొందినప్పటికీ, వాటిని ఏ OSలోనైనా ఉపయోగించవచ్చు. ఈ ఫార్మాట్ యొక్క సరళమైన నిర్మాణం వాటిని ప్రోగ్రామాటిక్‌గా ప్రాసెస్ చేయడాన్ని సులభతరం చేస్తుంది మరియు మానవ పఠనం మరియు మార్పు కోసం తగినంత స్పష్టమైన రూపాన్ని కలిగి ఉంటుంది. ఈ ఫార్మాట్ కోసం సింటాక్స్ హైలైటింగ్ మరియు ఫోల్డింగ్‌ని ఉపయోగించే టెక్స్ట్ ఎడిటర్‌లు (SciTE లేదా నోట్‌ప్యాడ్++ వంటివి) ఉన్నాయి, INI ఫైల్‌లను మాన్యువల్‌గా సవరించడం సులభం చేస్తుంది.

పారామితులను వేరు చేయడానికి విభాగాలను ఉపయోగించడం డేటాను నిర్వహించడానికి సహాయపడుతుంది, అయితే మరింత సంక్లిష్టమైన క్రమానుగత నిర్మాణంతో పెద్ద సెట్టింగ్‌లను నిల్వ చేయడానికి, XML లేదా JSON ఆకృతి బాగా సరిపోతుంది.

ఫైల్ ఫార్మాట్

ini ఫైల్‌లు సాధారణ టెక్స్ట్ ఫైల్‌లు, వీటిని ఏదైనా టెక్స్ట్ ఎడిటర్ ఉపయోగించి సవరించవచ్చు మరియు వీక్షించవచ్చు. ini ఫైల్‌లు క్రింది ఆకృతిని కలిగి ఉంటాయి:

; కొన్ని వ్యాఖ్య # Unix శైలి వ్యాఖ్య ; విభాగం గురించి వ్యాఖ్యానించండి var1 = విలువ_1 ; కొన్నిసార్లు ప్రత్యేక పరామితి కోసం వ్యాఖ్య అనుమతించబడుతుంది var2 = value_2 var1 = value_1 var2 = value_2 ; కొన్నిసార్లు కామాలతో వేరు చేయబడిన బహుళ విలువలను జాబితా చేయడం సాధ్యపడుతుంది var1 = విలువ_1_1, విలువ_1_2, విలువ_1_3 var2 = విలువ_2 ; జెండ్ ఫ్రేమ్‌వర్క్‌లో ఒక శ్రేణి క్రింది విధంగా నిర్వచించబడింది var1 = value_1_1 var1 = value_1_2 var1 = value_1_3 var2 = value_2 ; కొన్నిసార్లు విలువలు తప్పిపోతాయిమోడ్ = Vid = FolderType = సాధారణమైనది

INI ఫైల్‌లో ఇవి ఉండవచ్చు:

  • ఖాళీ పంక్తులు ;